home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu696.dms / pu696.adf / termRexx.doc < prev    next >
Text File  |  1994-11-30  |  75KB  |  3,464 lines

  1.    `term' 4.2 - A terminal program for Amiga computers
  2.  
  3.    Copyright © 1990-1994 Olaf Barthel
  4.  
  5.    You may make and distribute verbatim copies of this documentation if
  6. the contents are unchanged or the author has agreed to any changes made.
  7.  
  8.    No guarantee of any kind is given that the program described in this
  9. document are 100% reliable. You are using this material on your own
  10. risk.
  11.  
  12.    The program `term' and the data received/sent by it must not be used
  13. for the following purposes:
  14.  
  15.   1. The construction, development, production or testing of weapons or
  16.      weapon systems of any kind.
  17.  
  18.   2. The construction, development, production or use of
  19.      plants/installations which include the processing of
  20.      radioactive/fissionable material.
  21.  
  22.   3. The training of persons to deal with the abovesaid actions.
  23.  
  24.  
  25.    Listen to your conscience.
  26.  
  27. Changes
  28. *******
  29.  
  30.    Previous `term' releases would use a different ARexx host interface
  31. implementation.  In order to conform to Commodore-endorsed user
  32. interface style guidelines it was redesigned from scratch for version
  33. 3.0. The design and implementation of the ARexx host interface was
  34. suggested by the `Amiga User Interface Style Guide' and strongly
  35. influenced by Martin Taillefer's `TurboText' ARexx host interface.
  36.  
  37.    Not a simple command has `survived' the revision, the new
  38. implementation is no longer compatible with its predecessors, so
  39. existing ARexx scripts will have to be adapted or even entirely
  40. rewritten.
  41.  
  42.    `term' no longer distinguishes explicitely between asynchronous and
  43. synchronous commands (i.e. commands which force the main program to
  44. wait and commands which need not bother the main program as the ARexx
  45. handler process is able to execute them). As of this writing it is safe
  46. to assume that almost any command will be processed by the main
  47. program, exceptions are noted.
  48.  
  49. term and ARexx
  50. **************
  51.  
  52.    This document describes the ARexx(tm) (1) commands supported by
  53. `term'.  This is not intended to be an introduction to the language
  54. itself.  Rexx was developed by Mike F.  Cowlishaw on an IBM/SP system
  55. and ported to the Amiga by William S.  Hawes.
  56.  
  57.    ARexx (or Amiga Rexx) is a commercial product which is included with
  58. the AmigaDOS 2.0 Enhancer Package.  If you need a good introduction and
  59. description of the language, try to get a hold of the book `The REXX
  60. Language A Practical Approach to Programming' by M.F.  Cowlishaw,
  61. available from Prentice-Hall International, Inc.
  62.  
  63.    The section entitled Command execution gives a brief introduction
  64. how to write and run ARexx commands. For more information refer to the
  65. Release 2 Users Manual `Using the System Software'.
  66.  
  67.    By default `term' opens an ARexx host by the name of `TERM'
  68. (accessable via `address term').  If more than a single `term' process
  69. is running on your machine, the name of the host will be adapted to the
  70. number of the program (i.e.  the first programm will use `TERM', the
  71. second one will use `TERM.1', the third one `TERM.2', etc.). The
  72. default name can be overridden by invoking the program with certain
  73. parameters (see main program documentation). The name of the host is
  74. displayed in the status window (see main program documentation).
  75.  
  76.    ---------- Footnotes ----------
  77.  
  78.    (1)  ARexx is a registered trademark of Wishful Thinking Development
  79. Corp.
  80.  
  81. Command execution
  82. =================
  83.  
  84.    In order to invoke any command supported by `term' one usually has
  85. to address the host explicitely:
  86.  
  87.      /* Address the `term' host. */
  88.  
  89.      ADDRESS term
  90.  
  91.      /* Invoke the `beepscreen' commmand. */
  92.  
  93.      BEEPSCREEN
  94.  
  95.    However, if an ARexx script is invoked directly by the `term' main
  96. program, the script will by default address the main program it was
  97. invoked by.
  98.  
  99.    Most commands will return results or error codes on failure. To
  100. enable result codes, one has to use the `options results' command. The
  101. results returned by commands will be placed in the `result' variable:
  102.  
  103.      /* We assume that the script will address the host it was invoked from.
  104.       *
  105.       * Enable command results.
  106.       */
  107.  
  108.      OPTIONS RESULTS
  109.  
  110.      /* Request a string from the user. */
  111.  
  112.      REQUESTSTRING DEFAULT 'anything' PROMPT 'Enter anything'
  113.  
  114.      /* Did the user cancel the requester? */
  115.  
  116.      IF rc ~= 0 THEN
  117.         SAY 'user cancelled requester'
  118.      ELSE
  119.         SAY result /* Output the result . */
  120.  
  121.    Failure codes will always be returned in the `rc' variable (see
  122. previous example).
  123.  
  124.    In case of failure (variable `rc' >= 10), `term' will leave an error
  125. code in the `term.lasterror' variable:
  126.  
  127.      /* Enable command results. */
  128.  
  129.      OPTIONS RESULTS
  130.  
  131.      /* Produce an error by not supplying any arguments. */
  132.  
  133.      STOPBITS
  134.  
  135.      /* Display the error code. */
  136.  
  137.      SAY term.lasterror
  138.  
  139.    Rexx tries to tokenize any command parameters, this process involves
  140. promoting them to all upper case letters and checking for illegal
  141. characters. This feature inhibits the use of the `:' (colon) and blank
  142. space characters in parameter names unless the corresponding arguments
  143. are enclosed in quotes. To make things even more complicated, the
  144. parser will not always accept parameters to contain blank spaces. If a
  145. command template accepts the entire command line (such as `TEXT/K/F') a
  146. parameter can include any number of blank spaces. A command template to
  147. accept just a single parameter (such as `TEXT/K') requires double
  148. quotes if blank spaces are included. Text such as `tea or coffee?' thus
  149. becomes `'"tea or coffee?"''.
  150.  
  151.      /* The following command will fail to send the file `ram:foobar' as the colon
  152.       * in the path name will cause an error:
  153.       */
  154.  
  155.      SENDFILE ram:foobar
  156.  
  157.      /* Here is how to do it correctly: */
  158.  
  159.      SENDFILE 'ram:foobar'
  160.  
  161.      /* The following command will fail to send the file `foo bar' as the
  162.       * file name is treated as two single files:
  163.       */
  164.  
  165.      SENDFILE foo bar
  166.  
  167.      /* The next line will still fail to send the file `foo bar'
  168.       * as the ARexx parser will split the argument into two
  169.       * parameters.
  170.       */
  171.  
  172.      SENDFILE 'foo bar'
  173.  
  174.      /* Here is how to do it correctly: */
  175.  
  176.      SENDFILE '"foo bar"'
  177.  
  178.      /* The following command will not transmit the string `Hello sailor'
  179.       * across the serial line as the single words will be capitalized,
  180.       * they will be transmitted as `HELLO SAILOR':
  181.       */
  182.  
  183.      SEND Hello sailor
  184.  
  185.      /* Here is how to do it correctly: */
  186.  
  187.      SEND 'Hello sailor'
  188.  
  189. Stopping a command
  190. ******************
  191.  
  192.    Programs and commands sometimes fail to do what the user is expecting
  193. them to do which makes it necessary to bring program/command execution
  194. to a stop. A common ARexx script to call no external functions or host
  195. commands one can be halted in the following ways:
  196.  
  197.   1. Executing the `HI' command (located in the `SYS:rexxc' drawer)
  198.      from Shell. This command will attempt stop *all* currently running
  199.      ARexx scripts.
  200.  
  201.   2. If the ARexx script to be executed runs in an environment to sport
  202.      an output window, activate the window and press the `Control + C'
  203.      keys.  A break signal will be sent to the ARexx script, causing it
  204.      to stop as soon as possible.
  205.  
  206.  
  207.    With host environments such as `term' it may not always be possible
  208. to abort a command using the simple measures described above. As for
  209. `term' any command to wait (such as the READ, DELAY or WAIT commands)
  210. can be aborted by sending `term' itself a break signal in the following
  211. fashion:
  212.  
  213.   1. If the `term' program is still attached to a Shell output window,
  214.      activate the window and press the `Control + D' keys.
  215.  
  216.   2. If the `term' program was invoked from a Shell but is no longer
  217.      attached to it, enter `status command term' from Shell, remember
  218.      the number printed, then enter `break <number>' with `<number>'
  219.      being the number returned by the `status' command.
  220.  
  221.   3. Press the hotkey combination configured in the program hotkey
  222.      settings (see main program documentation). The default is `Right
  223.      Shift + Left Shift + Escape'. This will cause a break signal to be
  224.      sent to the `term' program.
  225.  
  226.  
  227. Commands
  228. ********
  229.  
  230.    The commands supported by `term' are listed in a table of the
  231. following form:
  232.  
  233. `Format:'
  234.      The command name with its possible calling parameters. In this
  235.      table parameters are enclosed in brackets and braces, separated by
  236.      commas and vertical bars; *do not type these special characters
  237.      along with the parameters!*:
  238.  
  239.     `< > (Angle brackets)'
  240.           Angle brackets enclose parameters whose contents *must not*
  241.           be omitted in order to make the command work properly.
  242.  
  243.     `[ ] (Square brackets)'
  244.           Square brackets enclose optional parameters.
  245.  
  246.     `{ } (Curly braces)'
  247.           Curly braces enclose items which can be repeated a number of
  248.           times, such as file name lists.
  249.  
  250.     `| (Vertical bar)'
  251.           Vertical bars separate alternative, mutually exclusive
  252.           options.
  253.  
  254.     `, (Comma)'
  255.           Commas separate multiple applicable options.
  256.  
  257. `Template:'
  258.      The command template, similar to the command templates employed by
  259.      AmigaDOS Shell commands.  Possible templates are:
  260.  
  261.     `<Parameter>/A'
  262.           The parameter must always be included in order to get
  263.           accepted.
  264.  
  265.     `<Option>/K'
  266.           The option's keyword must be given.
  267.  
  268.     `<Option>/S'
  269.           This option works as a switch. If this option keyword is
  270.           included the switch is on, else it is off.
  271.  
  272.     `<Option>/N'
  273.           A numeric parameter is expected.
  274.  
  275.     `<Option>/M'
  276.           Multiple parameters are accepted.
  277.  
  278.     `<Text>/F'
  279.           The text must be the final parameter on the command line.
  280.  
  281.     `, (Comma)'
  282.           Indicates that the command takes no parameters.
  283.  
  284. `Purpose:'
  285.      Briefly describes what the command will do.
  286.  
  287. `Specifications:'
  288.      Describes the command and its possible uses in more detail.
  289.  
  290. `Result:'
  291.      The type of the command result code if any.
  292.  
  293. `Warning:'
  294.      If the command can return with a warning and when.
  295.  
  296. `Example:'
  297.      An example code fragment to illustrate how to use the command.
  298.      Commands and keywords are given in upper case, the names of
  299.      variables and command arguments are given in lower case. Where a
  300.      single command line would not fit into a single line on the
  301.      screen, an ellipsis ('...') is meant to join the broken line.
  302.  
  303.    Table of commands in alphabetical order:
  304.  
  305.    Table of commands in functional groups:
  306.  
  307.    Commands dealing with text buffer and capturing
  308.  
  309.    Commands dealing with serial I/O
  310.  
  311.    Commands dealing with lists
  312.  
  313.    Commands dealing with the clipboard
  314.  
  315.    Commands dealing with file transfers
  316.  
  317.    Commands dealing with terminal I/O
  318.  
  319.    Commands dealing with windows and requesters
  320.  
  321.    Commands dealing with program attributes
  322.  
  323.    Commands dealing with program execution
  324.  
  325.    Commands dealing with file I/O
  326.  
  327.    Miscellaneous commands
  328.  
  329. The ACTIVATE command
  330. ====================
  331.  
  332. `Format:'
  333.      ACTIVATE
  334.  
  335. `Template:'
  336.      ,
  337.  
  338. `Purpose:'
  339.      De-iconifies the program, brings the main window to the front and
  340.      makes it active.
  341.  
  342. `Specifications:'
  343.      The program can be put to sleep using the DEACTIVATE command, to
  344.      bring it back to proper operation, use the `ACTIVATE' command. If
  345.      this command is invoked while the program is not asleep, it will
  346.      cause the main window to be brought to the front and activated.
  347.  
  348. `Result:'
  349.      -
  350.  
  351. `Warning:'
  352.      -
  353.  
  354. `Example:'
  355.           /* This is how the main programm can be (re-)activated: */
  356.  
  357.           ACTIVATE
  358.  
  359. The ADDITEM command
  360. ===================
  361.  
  362. `Format:'
  363.      ADDITEM [To] <Upload|Download|Dial|Wait> [Before|After] [Command
  364.      <Command for trap list>] [Response <Response text>] [Phone <Entry
  365.      number, name or wildcard pattern>] [Name <Name>]
  366.  
  367. `Template:'
  368.      TO/A,BEFORE/S,AFTER/S,RESPONSE/K,COMMAND/K,PHONE/K/F,NAME/K/F
  369.  
  370. `Purpose:'
  371.      Inserts an item (a name, a phone number, text, etc.) before or
  372.      after the currently selected list item.
  373.  
  374. `Specifications:'
  375.      `term' maintains a number of lists, these are:
  376.     `Upload list'
  377.           The list of files to be uploaded.
  378.  
  379.     `Download list'
  380.           The list of files the program has downloaded.
  381.  
  382.     `Dial list'
  383.           The list of phone numbers or phone book entries to be dialed.
  384.  
  385.     `Wait list'
  386.           The list of texts the WAIT command is to wait for.
  387.  
  388.      New items can be added to the list with the `ADDITEM' command. The
  389.      upload list expects the names of files the SENDFILE command is to
  390.      transfer. It makes little sense to add files names to the download
  391.      list as the `term' main program maintains it and adds the names of
  392.      files received to it, but it is still possible. The wait list
  393.      expects text lines the WAIT command will look for in the terminal
  394.      input stream.  A wait list entry added using the `RESPONSE'
  395.      keyword will if found in the input data stream cause the response
  396.      text to be immediately sent to the remote.  *Note: a wait list
  397.      entry to make use of the `RESPONSE' keyword will be handled by the
  398.      WAIT command, the ARexx script will not notice if this list entry
  399.      was found or not.*
  400.  
  401.      The dial list accepts a number of different parameters:
  402.     `Phonebook entry numbers'
  403.           These are passed using the `Phone' parameter which should be
  404.           a numeric value as it is used as an index to pick the
  405.           corresponding entry from the phone book.
  406.  
  407.     `Phonebook entry names'
  408.           These are also passed using the `Phone' parameter which can
  409.           be a proper name or a wildcard pattern.
  410.  
  411.     `Phone numbers'
  412.           These are passed using the `Name' parameter.
  413.  
  414.      List item can be inserted before or after the currently selected
  415.      list item (see SELECTITEM command). The default is to insert them
  416.      after the currently selected list item.
  417.  
  418. `Result:'
  419.      -
  420.  
  421. `Warning:'
  422.      -
  423.  
  424. `Example:'
  425.           /* Enable result codes. */
  426.  
  427.           OPTIONS RESULTS
  428.  
  429.           /* Get a file name from the user. */
  430.  
  431.           REQUESTFILE TITLE '"Select a file to upload"'
  432.  
  433.           /* Add the file name to the upload list. */
  434.  
  435.           IF rc = 0 THEN ADDITEM TO upload NAME result
  436.  
  437.           /* Add phonebook entry #2 to the dial list. */
  438.  
  439.           ADDITEM TO dial PHONE 2
  440.  
  441.           /* Add all phonebook entries whose names start
  442.            * with an `a' to the dial list.
  443.            */
  444.  
  445.           ADDITEM TO dial PHONE a#?
  446.  
  447.           /* Add a plain phone number to the dial list. */
  448.  
  449.           ADDITEM TO dial NAME 424242
  450.  
  451. The BAUD command
  452. ================
  453.  
  454. `Format:'
  455.      BAUD [Rate] <Baud rate in bits per second>
  456.  
  457. `Template:'
  458.      RATE/A/N
  459.  
  460. `Purpose:'
  461.      Sets the serial line transfer speed
  462.  
  463. `Specifications:'
  464.      Sets the serial line transfers speed to some defined value. The
  465.      rate parameter passed in will be matched against all valid baud
  466.      rates supported by `term', the closest value will be used.
  467.  
  468. `Result:'
  469.      -
  470.  
  471. `Warning:'
  472.      -
  473.  
  474. `Example:'
  475.           /* Change the serial transfer speed to 2400 bps. */
  476.  
  477.           BAUD 2400
  478.  
  479. The BEEPSCREEN command
  480. ======================
  481.  
  482. `Format:'
  483.      BEEPSCREEN
  484.  
  485. `Template:'
  486.      ,
  487.  
  488. `Purpose:'
  489.      `Beeps' the terminal screen.
  490.  
  491. `Specifications:'
  492.      Invokes a bell signal, as configured in the program settings.
  493.  
  494. `Result:'
  495.      -
  496.  
  497. `Warning:'
  498.      -
  499.  
  500. `Example:'
  501.           /* Invoke a bell signal. */
  502.  
  503.           BEEPSCREEN
  504.  
  505. The CALLMENU command
  506. ====================
  507.  
  508. `Format:'
  509.      CALLMENU [Title] <Title text or wildcard pattern>
  510.  
  511. `Template:'
  512.      TITLE/A/F
  513.  
  514. `Purpose:'
  515.      Invokes the function associated with a menu item.
  516.  
  517. `Specifications:'
  518.      Calls a pull-down menu function just as if the user had selected it
  519.      using the mouse. The `Title' parameter can be any valid menu item
  520.      name or a wildcard pattern. In the latter case, only the first
  521.      menu item to match the pattern will be called.
  522.  
  523. `Result:'
  524.      -
  525.  
  526. `Warning:'
  527.      If no matching menu item was to be found.
  528.  
  529. `Example:'
  530.           /* Invoke the `About...' menu item. */
  531.  
  532.           CALLMENU abou#?
  533.  
  534. The CAPTURE command
  535. ===================
  536.  
  537. `Format:'
  538.      CAPTURE [To] <Printer|File> [Name <File name>]
  539.  
  540. `Template:'
  541.      TO/A,NAME/K
  542.  
  543. `Purpose:'
  544.      Starts a file or printer capture.
  545.  
  546. `Specifications:'
  547.      If a capture is not already in progress will open a capture file
  548.      or start capturing incoming terminal text to the printer. If the
  549.      `File' argument is given and the `Name' parameter is omitted, will
  550.      prompt for the name of a file to capture to.
  551.  
  552.      If to capture to a given file, will append the captured text. If
  553.      user is to select a file to capture to, will ask whether to append
  554.      the text to the file or to overwrite it.
  555.  
  556. `Result:'
  557.      -
  558.  
  559. `Warning:'
  560.      In case user was to select a file and aborted the selection.
  561.  
  562. `Example:'
  563.           /* Open a named capture file. */
  564.  
  565.           CAPTURE TO file NAME 'ram:capture file'
  566.  
  567.           /* Close the capture file, ask the user for a file name. */
  568.  
  569.           CLOSE FILE
  570.           CAPTURE TO file
  571.  
  572.           /* Capture to the printer. */
  573.  
  574.           CAPTURE TO printer
  575.  
  576. The CLEAR command
  577. =================
  578.  
  579. `Format:'
  580.      CLEAR [From] <Upload|Download|Dial|Wait|Buffer> [Force]
  581.  
  582. `Template:'
  583.      FROM/A,FORCE/S
  584.  
  585. `Purpose:'
  586.      Clears the contents of a global list or the text buffer.
  587.  
  588. `Specifications:'
  589.      This command serves to clear the contents of the lists to be
  590.      maintained using the ADDITEM, REMITEM, SELECTITEM, etc. commands
  591.      and to purge the contents of the text buffer. In the latter case
  592.      the program will prompt for confirmation in case the buffer still
  593.      holds any lines. This confirmation can be suppressed by using the
  594.      `Force' parameter.
  595.  
  596. `Result:'
  597.      -
  598.  
  599. `Warning:'
  600.      In case the user did not confirm to clear the buffer.
  601.  
  602. `Example:'
  603.           /* Clear the wait list. */
  604.  
  605.           CLEAR FROM wait
  606.  
  607.           /* Clear the buffer, ask for a confirmation. */
  608.  
  609.           CLEAR FROM buffer
  610.  
  611.           /* If no confirmation was given, clear it by force. */
  612.  
  613.           IF rc ~= 0 THEN CLEAR FROM buffer FORCE
  614.  
  615. The CLEARSCREEN command
  616. =======================
  617.  
  618. `Format:'
  619.      CLEARSCREEN
  620.  
  621. `Template:'
  622.      ,
  623.  
  624. `Purpose:'
  625.      Clears the terminal screen
  626.  
  627. `Specifications:'
  628.      Clears the terminal screen and positions the cursor in the top
  629.      left corner.
  630.  
  631. `Result:'
  632.      -
  633.  
  634. `Warning:'
  635.      -
  636.  
  637. `Example:'
  638.           /* Clear the terminal screen. */
  639.  
  640.           CLEARSCREEN
  641.  
  642. The CLOSE command
  643. =================
  644.  
  645. `Format:'
  646.      CLOSE [From] <Printer|File|All>
  647.  
  648. `Template:'
  649.      FROM/A
  650.  
  651. `Purpose:'
  652.      Terminates file and/or printer capture.
  653.  
  654. `Specifications:'
  655.      Terminates a capture process as started with the CAPTURE command.
  656.      Will terminate printer capture, file capture or both.
  657.  
  658. `Result:'
  659.      -
  660.  
  661. `Warning:'
  662.      -
  663.  
  664. `Example:'
  665.           /* Terminate both file and printer capture. */
  666.  
  667.           CLOSE ALL
  668.  
  669. The CLOSEDEVICE command
  670. =======================
  671.  
  672. `Format:'
  673.      CLOSEDEVICE
  674.  
  675. `Template:'
  676.      ,
  677.  
  678. `Purpose:'
  679.      Release the current serial device driver
  680.  
  681. `Specifications:'
  682.      Frees the serial device driver for use with other applications.
  683.      The driver can be reopened (or a different device driver can be
  684.      selected) using the OPENDEVICE command.
  685.  
  686. `Result:'
  687.      -
  688.  
  689. `Warning:'
  690.      -
  691.  
  692. `Example:'
  693.           /* Release the serial device driver, all serial I/O
  694.            * will be halted.
  695.            */
  696.  
  697.           CLOSEDEVICE
  698.  
  699. The CLOSEREQUESTER command
  700. ==========================
  701.  
  702. `Format:'
  703.      CLOSEREQUESTER
  704.  
  705. `Template:'
  706.      ,
  707.  
  708. `Purpose:'
  709.      Closes the currently open requester window
  710.  
  711. `Specifications:'
  712.      Will close any currently open requester window, such as the
  713.      dialing window, the phone book, the serial settings window, etc.
  714.      Will not close windows such as the file transfer window or the
  715.      text/numeric input windows.
  716.  
  717. `Result:'
  718.      -
  719.  
  720. `Warning:'
  721.      -
  722.  
  723. `Example:'
  724.           /* Close the currently open requester window,
  725.            * whatever it may be.
  726.            */
  727.  
  728.           CLOSEREQUESTER
  729.  
  730. The DEACTIVATE command
  731. ======================
  732.  
  733. `Format:'
  734.      DEACTIVATE
  735.  
  736. `Template:'
  737.      ,
  738.  
  739. `Purpose:'
  740.      Iconifies the program.
  741.  
  742. `Specifications:'
  743.      Puts the application to sleep. Requires Workbench to be running,
  744.      so an AppIcon can be put on the Workbench backdrop. This command
  745.      will be ignored if the application has already been put to sleep.
  746.      To wake the application up, use the ACTIVATE command.
  747.  
  748. `Result:'
  749.      -
  750.  
  751. `Warning:'
  752.      -
  753.  
  754. `Example:'
  755.           /* Iconify the program. */
  756.  
  757.           DEACTIVATE
  758.  
  759. The DELAY command
  760. =================
  761.  
  762. `Format:'
  763.      DELAY [MIC|MICROSECONDS <Number>] [[SEC|SECONDS] <Number>]
  764.      [MIN|MINUTES <Number>] [QUIET]
  765.  
  766. `Template:'
  767.      MIC=MICROSECONDS/K/N,SEC=SECONDS/N,MIN=MINUTES/K/N,QUIET/S
  768.  
  769. `Purpose:'
  770.      Delays program execution for a couple of microseconds, seconds and
  771.      minutes.
  772.  
  773. `Specifications:'
  774.      Will cause both the program to make the call and the application
  775.      to wait for a certain period of time. Unless the `QUIET' option is
  776.      in effect will process and display data received from the serial
  777.      line.
  778.  
  779. `Result:'
  780.      -
  781.  
  782. `Warning:'
  783.      If command was aborted before the timeout had elapsed.
  784.  
  785. `Example:'
  786.           /* Wait for five seconds. */
  787.  
  788.           DELAY 5
  789.  
  790.           /* Wait for one second and seven microseconds. */
  791.  
  792.           DELAY MIC 7 SEC 5
  793.  
  794. The DIAL command
  795. ================
  796.  
  797. `Format:'
  798.      DIAL [WAIT|SYNC] [[Num] <Phone number>]
  799.  
  800. `Template:'
  801.      WAIT=SYNC/S,NUM/F
  802.  
  803. `Purpose:'
  804.      Dials the provided phone number. If no phone number was given,
  805.      will dial the numbers and phone book entries stored in the dial
  806.      list.
  807.  
  808. `Specifications:'
  809.      This command will build a dialing list from the available sources
  810.      and pass it to the dialing function which is to schedule the
  811.      dialing process and perform any login-actions. Available sources
  812.      are the `Num' parameter which will cause the command to dial only
  813.      this single number or the dial list whose contents will be used if
  814.      the `Num' parameter is omitted.
  815.  
  816.      If the `WAIT' parameter is used the command will wait until a
  817.      connection is made. If the parameter is not use this command will
  818.      return as soon as the dialing process has been initiated.
  819.  
  820. `Result:'
  821.      -
  822.  
  823. `Warning:'
  824.      If no connection was to be made.
  825.  
  826. `Example:'
  827.           /* Dial a single phone number. */
  828.  
  829.           DIAL 424242
  830.  
  831.           /* Wait a bit and abort the dialing process. */
  832.  
  833.           DELAY 5
  834.           CLOSEREQUESTER
  835.  
  836.           /* Clear the dialing list, then add all the phonebook entries
  837.            * to the list.
  838.            */
  839.  
  840.           CLEAR FROM dial
  841.           ADDITEM TO dial PHONE #?
  842.  
  843.           /* Dial the dial list. */
  844.  
  845.           DIAL WAIT
  846.  
  847.           /* Did we get a connection? */
  848.  
  849.           IF RC == 0 THEN SEND TEXT "Ack!\r"
  850.  
  851. The DUPLEX command
  852. ==================
  853.  
  854. `Format:'
  855.      DUPLEX [Full|Half|Echo]
  856.  
  857. `Template:'
  858.      FULL/S,HALF=ECHO/S
  859.  
  860. `Purpose:'
  861.      Sets the serial line duplex mode.
  862.  
  863. `Specifications:'
  864.      Sets the serial line duplex mode, this can be either full duplex
  865.      or half duplex (local echo).
  866.  
  867. `Result:'
  868.      -
  869.  
  870. `Warning:'
  871.      -
  872.  
  873. `Example:'
  874.           /* Enable local terminal echo. */
  875.  
  876.           DUPLEX ECHO
  877.  
  878. The EXECTOOL command
  879. ====================
  880.  
  881. `Format:'
  882.      EXECTOOL [Console] [Async] [Port] [Command] <File name>
  883.  
  884. `Template:'
  885.      CONSOLE/S,ASYNC/S,PORT/S,COMMAND/A/F
  886.  
  887. `Purpose:'
  888.      Executes a program.
  889.  
  890. `Specifications:'
  891.      Will load and execute an AmigaDOS program. The `Console' parameter
  892.      will cause an output file or window to be opened, the `Async'
  893.      parameter will cause the command to return as soon as the
  894.      execution process has been launched. The `Port' parameter will
  895.      cause the current ARexx host port name to be passed to the tool on
  896.      the command line.
  897.  
  898. `Result:'
  899.      -
  900.  
  901. `Warning:'
  902.      -
  903.  
  904. `Example:'
  905.           /* Launch the `Dir' command. */
  906.  
  907.           EXECTOOL CONSOLE COMMAND 'dir c:'
  908.  
  909. The FAULT command
  910. =================
  911.  
  912. `Format:'
  913.      FAULT [Code] <Error code>
  914.  
  915. `Template:'
  916.      CODE/A/N
  917.  
  918. `Purpose:'
  919.      Returns the descriptive text associated with an error code as
  920.      returned by `term'.
  921.  
  922. `Specifications:'
  923.      `term' will return error codes in the `term.lasterror' variable.
  924.      In order to get the descriptive text associated with an error
  925.      code, use this command.  All internal Rexx and AmigaDOS errors
  926.      codes are supported as well as the error codes special to `term'.
  927.  
  928. `Result:'
  929.      The error description associated with the error code.
  930.  
  931. `Warning:'
  932.      -
  933.  
  934. `Example:'
  935.           /* Enable command results. */
  936.  
  937.           OPTIONS RESULTS
  938.  
  939.           /* Get the text associated with error #1001. */
  940.  
  941.           FAULT 1001
  942.  
  943.           /* Output the result. */
  944.  
  945.           SAY result
  946.  
  947. The GETATTR command
  948. ===================
  949.  
  950. `Format:'
  951.      GETATTR [Object] <Name> [Field] <Name> [Stem <Name>] [Var <Name>]
  952.  
  953. `Template:'
  954.      OBJECT/A,FIELD,STEM/K,VAR/K
  955.  
  956. `Purpose:'
  957.      Obtains information on an application attribute.
  958.  
  959. `Specifications:'
  960.      Obtains information on an object, if possible will store it in the
  961.      `result' variable. If a stem or simple variable name is given
  962.      using the `Stem' or `Var' parameters will store the information in
  963.      this variable.  If no `Field' parameter is given, will store the
  964.      entire object contents which requires that the `Stem' parameter is
  965.      given. For a list of valid attributes see the section entitled
  966.      Attributes.
  967.  
  968. `Result:'
  969.      Returns information either in `result' variable or in the supplied
  970.      `Stem' or `Var' variable.
  971.  
  972. `Warning:'
  973.      -
  974.  
  975. `Example:'
  976.           /* Enable command results. */
  977.  
  978.           OPTIONS RESULTS
  979.  
  980.           /* Query the name of the ARexx host we are communicating with. */
  981.  
  982.           GETATTR OBJECT term FIELD arexx
  983.  
  984.           /* Output the result. */
  985.  
  986.           SAY result
  987.  
  988.           /* Same as above, but using a different syntax. */
  989.  
  990.           GETATTR term.arexx
  991.           SAY result
  992.  
  993.           /* Store the entire contents of the phone book in a
  994.            * stem variable.
  995.            */
  996.  
  997.           GETATTR phonebook STEM book
  998.  
  999.           /* Output the phonebook contents. */
  1000.  
  1001.           SAY 'phone book contains' book.count 'entries'
  1002.  
  1003.           DO i = 0 TO book.count - 1
  1004.              SAY 'entry #' i
  1005.  
  1006.              SAY 'name    :' book.i.name
  1007.              SAY 'number  :' book.i.number
  1008.              SAY 'comment :' book.i.commenttext
  1009.              SAY 'username:' book.i.username
  1010.           END i
  1011.  
  1012. The GETCLIP command
  1013. ===================
  1014.  
  1015. `Format:'
  1016.      GETCLIP [Unit <Number>]
  1017.  
  1018. `Template:'
  1019.      UNIT/K/N
  1020.  
  1021. `Purpose:'
  1022.      Retrieves the contents of the clipboard.
  1023.  
  1024. `Specifications:'
  1025.      Obtains the contents of the clipboard and returns it in the
  1026.      `result' variable. Will optionally read from the given clipboard
  1027.      unit, but uses the unit number selected in the application
  1028.      settings by default. *Note that a string returned can be up to
  1029.      65,536 characters long!*
  1030.  
  1031. `Result:'
  1032.      Contents of the clipboard if it contains any text.
  1033.  
  1034. `Warning:'
  1035.      If clipboard does not contain any text.
  1036.  
  1037. `Example:'
  1038.           /* Enable command results. */
  1039.  
  1040.           OPTIONS RESULTS
  1041.  
  1042.           /* Get the primary clipboard contents. */
  1043.  
  1044.           GETCLIP
  1045.  
  1046.           /* Output the contents. */
  1047.  
  1048.           IF rc ~= 0 THEN
  1049.              SAY 'clipboard does not contain any text'
  1050.           ELSE
  1051.              SAY result
  1052.  
  1053. The GOONLINE command
  1054. ====================
  1055.  
  1056. `Format:'
  1057.      GOONLINE
  1058.  
  1059. `Template:'
  1060.      ,
  1061.  
  1062. `Purpose:'
  1063.      Cause `term' to go into online state.
  1064.  
  1065. `Specifications:'
  1066.      After this command is processed `term' will immediately go into
  1067.      online state. If the carrier signal is to be checked and no signal
  1068.      is present `term' will drop into offline state right away.
  1069.  
  1070. `Result:'
  1071.      -
  1072.  
  1073. `Warning:'
  1074.      -
  1075.  
  1076. `Example:'
  1077.           /* Go into online state. */
  1078.  
  1079.           GOONLINE
  1080.  
  1081. The HANGUP command
  1082. ==================
  1083.  
  1084. `Format:'
  1085.      HANGUP
  1086.  
  1087. `Template:'
  1088.      ,
  1089.  
  1090. `Purpose:'
  1091.      Hang up the serial line.
  1092.  
  1093. `Specifications:'
  1094.      Hangs up the serial line, executes logoff and cleanup operations.
  1095.  
  1096. `Result:'
  1097.      -
  1098.  
  1099. `Warning:'
  1100.      -
  1101.  
  1102. `Example:'
  1103.           /* Hang up the line, whether the program is online or not. */
  1104.  
  1105.           HANGUP
  1106.  
  1107. The HELP command
  1108. ================
  1109.  
  1110. `Format:'
  1111.      HELP [[Command] <Name>] [Prompt]
  1112.  
  1113. `Template:'
  1114.      COMMAND,PROMPT/S
  1115.  
  1116. `Purpose:'
  1117.      Returns the template of a command or invokes the online help
  1118.      system.
  1119.  
  1120. `Specifications:'
  1121.      This command will either return the template associated with a
  1122.      `term' ARexx command specified using the `Command' parameter or
  1123.      invoke the AmigaGuide(tm) help system.
  1124.  
  1125. `Result:'
  1126.      Command template if requested.
  1127.  
  1128. `Warning:'
  1129.      -
  1130.  
  1131. `Example:'
  1132.           /* Enable command results. */
  1133.  
  1134.           OPTIONS RESULTS
  1135.  
  1136.           /* Query the template associated with the `selectitem' command. */
  1137.  
  1138.           HELP selectitem
  1139.  
  1140.           /* Output the result. */
  1141.  
  1142.           SAY result
  1143.  
  1144.           /* Invoke the online help. */
  1145.  
  1146.           HELP PROMPT
  1147.  
  1148. The OPEN command
  1149. ================
  1150.  
  1151. `Format:'
  1152.      OPEN [Name <File name>] [TO] <Translations|Functionkeys|Cursorkeys|
  1153.      Fastmacros|Hotkeys|Speech|Sound|Buffer|Configuration|Phone>
  1154.  
  1155. `Template:'
  1156.      NAME/K,TO/A
  1157.  
  1158. `Purpose:'
  1159.      Reads data from a disk file.
  1160.  
  1161. `Specifications:'
  1162.      This command reads the contents of a disk file and stores the
  1163.      information either in the configuration, the phone book or the
  1164.      text buffer. If text is read into the text buffer it will be
  1165.      appended to the existing text. If no file name is given will
  1166.      prompt the user to select a file.
  1167.  
  1168. `Result:'
  1169.      -
  1170.  
  1171. `Warning:'
  1172.      If user was requested to select a file and cancelled the selection.
  1173.  
  1174. `Example:'
  1175.           /* Load the configuration from a file. */
  1176.  
  1177.           OPEN NAME 'ram:term.prefs' TO configuration
  1178.  
  1179.           /* Add text to the text buffer. */
  1180.  
  1181.           OPEN TO buffer
  1182.  
  1183. The OPENDEVICE command
  1184. ======================
  1185.  
  1186. `Format:'
  1187.      OPENDEVICE [Name <Device name>] [Unit <Number>]
  1188.  
  1189. `Template:'
  1190.      NAME/K,UNIT/K/N
  1191.  
  1192. `Purpose:'
  1193.      (Re-)Opens the serial device driver.
  1194.  
  1195. `Specifications:'
  1196.      (Re-)Opens the previously released (see CLOSEDEVICE command) device
  1197.      driver or a different device driver/unit if the corresponding
  1198.      `Device' and `Unit' parameters are given.
  1199.  
  1200. `Result:'
  1201.      -
  1202.  
  1203. `Warning:'
  1204.      -
  1205.  
  1206. `Example:'
  1207.           /* Release the serial device driver. */
  1208.  
  1209.           CLOSEDEVICE
  1210.  
  1211.           /* Open a different device driver. */
  1212.  
  1213.           OPENDEVICE DEVICE 'duart.device' UNIT 5
  1214.  
  1215. The OPENREQUESTER command
  1216. =========================
  1217.  
  1218. `Format:'
  1219.      OPENREQUESTER [REQUESTER]
  1220.      <Serial|Modem|Screen|Terminal|Emulation|Clipboard|
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.      Capture|Commands|Misc|Path|Transfer|Translations|Functionkeys|Cursorkeys|
  1228.      Fastmacros|Hotkeys|Speech|Sound|Phone>
  1229.  
  1230. `Template:'
  1231.      REQUESTER/A
  1232.  
  1233. `Purpose:'
  1234.      Opens a requester window.
  1235.  
  1236. `Specifications:'
  1237.      Opens a requester window. Only a single window can be open at a
  1238.      time.  The window opened can be closed using the CLOSEREQUESTER
  1239.      command.
  1240.  
  1241. `Result:'
  1242.      -
  1243.  
  1244. `Warning:'
  1245.      -
  1246.  
  1247. `Example:'
  1248.           /* Open the phonebook window. */
  1249.  
  1250.           OPENREQUESTER phone
  1251.  
  1252. The PARITY command
  1253. ==================
  1254.  
  1255. `Format:'
  1256.      PARITY [Even|Odd|None|Mark|Space]
  1257.  
  1258. `Template:'
  1259.      EVEN/S,ODD/S,NONE/S,MARK/S,SPACE/S
  1260.  
  1261. `Purpose:'
  1262.      Sets the serial line parity mode.
  1263.  
  1264. `Specifications:'
  1265.      Sets the serial line parity mode.
  1266.  
  1267. `Result:'
  1268.      -
  1269.  
  1270. `Warning:'
  1271.      -
  1272.  
  1273. `Example:'
  1274.           /* Set the parity mode. */
  1275.  
  1276.           PARITY NONE
  1277.  
  1278. The PASTECLIP command
  1279. =====================
  1280.  
  1281. `Format:'
  1282.      PASTECLIP [Unit <Number>]
  1283.  
  1284. `Template:'
  1285.      UNIT/K/N
  1286.  
  1287. `Purpose:'
  1288.      Feed the contents of the clipboard into the input stream.
  1289.  
  1290. `Specifications:'
  1291.      Feeds the contents of the clipboard into the input stream. Obtains
  1292.      the data either from the given clipboard unit or from the default
  1293.      unit configured in the program settings.
  1294.  
  1295. `Result:'
  1296.      -
  1297.  
  1298. `Warning:'
  1299.      If clipboard does not contain any text.
  1300.  
  1301. `Example:'
  1302.           /* Paste the contents of clipboard #2. */
  1303.  
  1304.           PASTECLIP UNIT 2
  1305.  
  1306. The PRINT command
  1307. =================
  1308.  
  1309. `Format:'
  1310.      PRINT [From]
  1311.      <Screentext|Clipboard|Buffer|Dial|Wait|Upload|Download> [TO <File
  1312.      name>] [Serial|Modem|Screen|Terminal|User|Comment| Size|Date|Attr]
  1313.  
  1314. `Template:'
  1315.      FROM/A,TO/K,SERIAL/S,MODEM/S,SCREEN/S,TERMINAL/S,USER/S,
  1316.      COMMENT/S,SIZE/S,DATE/S,ATTR/S
  1317.  
  1318. `Purpose:'
  1319.      Prints the contents of the screen, the clipboard, the textbuffer
  1320.      or one of the lists.
  1321.  
  1322. `Specifications:'
  1323.      Outputs the contents of the screen, the clipboard, the textbuffer
  1324.      or one of the lists (see ADDITEM command) to a file or the
  1325.      printer. If the `To' parameter is omitted, will output the data to
  1326.      the printer. The parameters `Serial' through `Attr' control what
  1327.      will be printed:
  1328.     `Screentext, Clipboard, Buffer, Wait list'
  1329.           Options have no effect on the output.
  1330.  
  1331.     `Dial list'
  1332.           Responds to the `Serial', `Modem', `Screen', `Terminal',
  1333.           `User' and `Comment' parameters. The printout will contain
  1334.           information on the corresponding settings.
  1335.  
  1336.     `Upload list, Download list'
  1337.           Responds to the `Comment', `Size', `Date' and `Attr'
  1338.           parameters. The printout will contain information on the
  1339.           corresponding file attributes. *Note: if any of these
  1340.           parameters are given, only the base file names will be
  1341.           printed along with the corresponding information.*
  1342.  
  1343. `Result:'
  1344.      -
  1345.  
  1346. `Warning:'
  1347.      If user cancelled print operation.
  1348.  
  1349. `Example:'
  1350.           /* Clear the dialing list, then add the entire phone book to it. */
  1351.  
  1352.           CLEAR dial
  1353.           additem to dial phone #?
  1354.  
  1355.           /* Send the contents of the dial list to a disk file. */
  1356.  
  1357.           PRINT FROM dial TO 'ram:phonebook' SERIAL MODEM SCREEN...
  1358.           ...TERMINAL USER COMMENT
  1359.  
  1360. The PROCESSIO command
  1361. =====================
  1362.  
  1363. `Format:'
  1364.      PROCESSIO <On|Off>
  1365.  
  1366. `Template:'
  1367.      ON/S,OFF/S
  1368.  
  1369. `Purpose:'
  1370.      Turns serial I/O processing on or off.
  1371.  
  1372. `Specifications:'
  1373.      Usually, the `term' main program processes incoming data from the
  1374.      serial line, i.e. text is displayed in the terminal window or data
  1375.      transfers are started. This can interfere with custom I/O
  1376.      processing, such as done by an ARexx program which wants to
  1377.      receive and process all incoming serial data, without getting
  1378.      interrupted by the main program.
  1379.  
  1380. `Result:'
  1381.      -
  1382.  
  1383. `Warning:'
  1384.      -
  1385.  
  1386. `Example:'
  1387.           /* Turn off I/O processing. */
  1388.  
  1389.           PROCESSIO OFF
  1390.  
  1391. The PROTOCOL command
  1392. ====================
  1393.  
  1394. `Format:'
  1395.      PROTOCOL [None|RTSCTS|RTSCTSDTR]
  1396.  
  1397. `Template:'
  1398.      NONE/S,RTSCTS/S,RTSCTSDTR/S
  1399.  
  1400. `Purpose:'
  1401.      Sets the serial line handshaking protocol.
  1402.  
  1403. `Specifications:'
  1404.      Sets the serial line handshaking protocol. See the main program
  1405.      documentation for details.
  1406.  
  1407. `Result:'
  1408.      -
  1409.  
  1410. `Warning:'
  1411.      -
  1412.  
  1413. `Example:'
  1414.           /* Set the handshaking protocol. */
  1415.  
  1416.           PROTOCOL NONE
  1417.  
  1418. The PUTCLIP command
  1419. ===================
  1420.  
  1421. `Format:'
  1422.      PUTCLIP [Unit <Unit>] [TEXT] <Text to store>
  1423.  
  1424. `Template:'
  1425.      UNIT/K/N,TEXT/A/F
  1426.  
  1427. `Purpose:'
  1428.      Stores text in the clipboard.
  1429.  
  1430. `Specifications:'
  1431.      Stores the provided text in the clipboard. Will store it in the
  1432.      given clipboard unit if the `Unit' parameter is given. Will use
  1433.      the unit number configured in the program settings otherwise.
  1434.  
  1435. `Result:'
  1436.      -
  1437.  
  1438. `Warning:'
  1439.      -
  1440.  
  1441. `Example:'
  1442.           /* Store a short string in the clipboard. Note: can
  1443.            * only be up to 65,536 characters long.
  1444.            */
  1445.  
  1446.           PUTCLIP 'hello sailor!'
  1447.  
  1448. The QUIT command
  1449. ================
  1450.  
  1451. `Format:'
  1452.      QUIT [Force]
  1453.  
  1454. `Template:'
  1455.      FORCE/S
  1456.  
  1457. `Purpose:'
  1458.      Terminates the application.
  1459.  
  1460. `Specifications:'
  1461.      Terminates program execution, will ask for a confirmation to leave
  1462.      unless the `Force' parameter is used. *Caution: this command may
  1463.      fail if there are still output windows open on the `term' screen.*
  1464.  
  1465. `Result:'
  1466.      -
  1467.  
  1468. `Warning:'
  1469.      If user did not confirm termination.
  1470.  
  1471. `Example:'
  1472.           /* Try to terminate the program, ask for confirmation. */
  1473.  
  1474.           QUIT
  1475.  
  1476.           /* If no confirmation was given terminate by force. */
  1477.  
  1478.           IF rc ~= 0 THEN QUIT FORCE
  1479.  
  1480. The READ command
  1481. ================
  1482.  
  1483. `Format:'
  1484.      READ [Num <Number of bytes>] [CR] [Noecho] [Verbatim] [[Prompt]
  1485.      <Prompt text>]
  1486.  
  1487. `Template:'
  1488.      NUM/K/N,CR/S,NOECHO/S,VERBATIM/S,PROMPT/K/F
  1489.  
  1490. `Purpose:'
  1491.      Reads a number of bytes or a string from the serial line.
  1492.  
  1493. `Specifications:'
  1494.      If `Num' parameter is given will read a number of bytes from the
  1495.      serial line (*note: only a maximum of 65,536 bytes can be read*).
  1496.      The command will return when the read request has been satisfied,
  1497.      the timeout (settable using the TIMEOUT command) has elapsed or
  1498.      the command was aborted.
  1499.  
  1500.      If the `CR' parameter is given will handle simple line editing
  1501.      functions (`Backspace', `Control-X') and return a string as soon
  1502.      as the `Carriage return' key is pressed, the timeout (settable
  1503.      using the TIMEOUT command) has elapsed or the command is aborted.
  1504.  
  1505.      The `Noecho' parameter will cause `term' not to echo typed
  1506.      characters back to the remote. *Note that in order to see any
  1507.      input on the local side the remote is to echo the characters typed
  1508.      back.*
  1509.  
  1510.      If present, the `Prompt' text will be sent across the serial line,
  1511.      much the same as if it had been sent using the SEND command.
  1512.  
  1513.      This command pays attention to the current character translation
  1514.      table for incoming characters. If the characters are to be read
  1515.      without any changes made one has to use the `Verbatim' parameter.
  1516.  
  1517. `Result:'
  1518.      The string read.
  1519.  
  1520. `Warning:'
  1521.      If command was cancelled, no input was made or, if the `CR'
  1522.      parameter is used, the timeout elapsed.
  1523.  
  1524. `Example:'
  1525.           /* Enable command results. */
  1526.  
  1527.           OPTIONS RESULTS
  1528.  
  1529.           /* Set the read timeout to five seconds. */
  1530.  
  1531.           TIMEOUT 5
  1532.  
  1533.           /* Read seven bytes. */
  1534.  
  1535.           READ NUM 7
  1536.  
  1537.           /* Output the result. */
  1538.  
  1539.           IF rc ~= 0 THEN
  1540.              SAY 'no data was read'
  1541.           ELSE
  1542.              SAY result
  1543.  
  1544.           /* Turn the timeout off. */
  1545.  
  1546.           TIMEOUT OFF
  1547.  
  1548.           /* Prompt for input. */
  1549.  
  1550.           READ CR PROMPT 'Enter a line of text:'
  1551.  
  1552.           /* Output the result. */
  1553.  
  1554.           IF rc ~= 0 THEN
  1555.              SAY 'no input was made'
  1556.           ELSE
  1557.              SAY result
  1558.  
  1559. The RECEIVEFILE command
  1560. =======================
  1561.  
  1562. `Format:'
  1563.      RECEIVEFILE [Mode <ASCII|Text|Binary>] [Name <File name>]
  1564.  
  1565. `Template:'
  1566.      MODE/K,NAME/K
  1567.  
  1568. `Purpose:'
  1569.      Receive one or more files using the XPR protocol.
  1570.  
  1571. `Specifications:'
  1572.      Receives one or more files using the currently configured XPR
  1573.      protocol.  The `Mode' parameter determines the file transfer mode
  1574.      (either plain ASCII, Text mode or binary file mode), if omitted
  1575.      the file(s) will be received in binary mode. Some file transfer
  1576.      protocols do not require any file names to be given as they have
  1577.      their own means to determine the names of the files to be
  1578.      received. However, a file name parameter can be given. If omitted
  1579.      the file transfer protocol will prompt the user for a file name if
  1580.      necessary.
  1581.  
  1582.      The names of all files received are placed on the download list
  1583.      for processing. The list will be cleared before the transfer is
  1584.      started.
  1585.  
  1586. `Result:'
  1587.      -
  1588.  
  1589. `Warning:'
  1590.      If user cancelled file selection.
  1591.  
  1592. `Example:'
  1593.           /* Start to receive a file in text mode. */
  1594.  
  1595.           RECEIVEFILE MODE text
  1596.  
  1597. The REDIAL command
  1598. ==================
  1599.  
  1600. `Format:'
  1601.      REDIAL
  1602.  
  1603. `Template:'
  1604.      ,
  1605.  
  1606. `Purpose:'
  1607.      Redials the numbers remaining in the currently configured dialing
  1608.      list.
  1609.  
  1610. `Specifications:'
  1611.      Redials the numbers which still remain in the dialing list built
  1612.      either by the phone book or by the DIAL command. *Note that this
  1613.      command will return as soon as the dialing process is initiated.*
  1614.  
  1615. `Result:'
  1616.      -
  1617.  
  1618. `Warning:'
  1619.      If dialing list is empty.
  1620.  
  1621. `Example:'
  1622.           /* Redial the list. */
  1623.  
  1624.           REDIAL
  1625.  
  1626.           /* Successful? */
  1627.  
  1628.           IF rc ~= 0 THEN SAY 'dialing list is empty'
  1629.  
  1630. The REMITEM command
  1631. ===================
  1632.  
  1633. `Format:'
  1634.      REMITEM [From] <Upload|Download|Dial|Wait> [Name <Name or
  1635.      wildcard>]
  1636.  
  1637. `Template:'
  1638.      FROM/A,NAME/K/F
  1639.  
  1640. `Purpose:'
  1641.      Removes one or more items from a list.
  1642.  
  1643. `Specifications:'
  1644.      Removes one or more items from a list. If no `Name' parameter is
  1645.      given will remove the currently selected list item (selectable
  1646.      using the SELECTITEM command). The `Name' parameter can be a
  1647.      proper name or a wildcard pattern.
  1648.  
  1649.      *Note: Cannot remove named items from the dial list.*
  1650.  
  1651. `Result:'
  1652.      -
  1653.  
  1654. `Warning:'
  1655.      If no list item would match the name pattern.
  1656.  
  1657. `Example:'
  1658.           /* Remove the currently selected item from the wait list. */
  1659.  
  1660.           REMITEM FROM wait
  1661.  
  1662.           /* Remove all items from the wait list which end with `z'. */
  1663.  
  1664.           REMITEM FROM wait NAME '#?z'
  1665.  
  1666. The REQUESTFILE command
  1667. =======================
  1668.  
  1669. `Format:'
  1670.      REQUESTFILE [Title <Title text>] [Path <Path name>] [File <File
  1671.      name>] [Pattern <Wildcard pattern>] [Multi] [Stem|Name <Variable
  1672.      name>]
  1673.  
  1674. `Template:'
  1675.      TITLE/K,PATH/K,FILE/K,PATTERN/K,MULTI/S,STEM=NAME/K
  1676.  
  1677. `Purpose:'
  1678.      Requests one or more file names from the user.
  1679.  
  1680. `Specifications:'
  1681.      Requests one or more file names from the user. Will present a file
  1682.      requester with given title text and preset path, file name and
  1683.      pattern values. If only a single file name is to be requested will
  1684.      place the result in the `result' variable. The `Multi' parameter
  1685.      allows multiple files to be selected, the number of files selected
  1686.      and the file names will be placed in the variable specified using
  1687.      the `Stem' parameter.
  1688.  
  1689. `Result:'
  1690.      The name of the file selected will be placed in the `result'
  1691.      variable. If multiple file were selected, will place the following
  1692.      information in the supplied stem variable:
  1693.     `<Variable name>.COUNT'
  1694.           The number of files selected.
  1695.  
  1696.     `<Variable name>.0 through <Variable name>.n-1'
  1697.           The file names selected.
  1698.  
  1699. `Warning:'
  1700.      If user cancelled selection.
  1701.  
  1702. `Example:'
  1703.           /* Enable command results. */
  1704.  
  1705.           OPTIONS RESULTS
  1706.  
  1707.           /* Request a single file name from the user. */
  1708.  
  1709.           REQUESTFILE TITLE '"select a file"'
  1710.  
  1711.           /* Output the result. */
  1712.  
  1713.           IF rc ~= 0 THEN
  1714.              SAY 'no file was selected'
  1715.           ELSE
  1716.              SAY result
  1717.  
  1718.           /* Request several files. */
  1719.  
  1720.           REQUESTFILE TITLE 'select several files' MULTI STEM names
  1721.  
  1722.           /* Output the result. */
  1723.  
  1724.           IF rc ~= 0 THEN
  1725.              SAY 'no files were selected'
  1726.           ELSE DO
  1727.              SAY 'files selected:' names.count
  1728.  
  1729.              DO i = 0 TO names.count - 1
  1730.                 SAY names.i
  1731.              END
  1732.           END
  1733.  
  1734. The REQUESTNOTIFY command
  1735. =========================
  1736.  
  1737. `Format:'
  1738.      REQUESTNOTIFY [Title <Title text>] [Prompt] <Prompt text>
  1739.  
  1740. `Template:'
  1741.      TITLE/K,PROMPT/A/F
  1742.  
  1743. `Purpose:'
  1744.      Notify the user with a message.
  1745.  
  1746. `Specifications:'
  1747.      Opens a requester to notify the user, the prompt text can include
  1748.      line feed characters (`'0A'X'), the user will be able to answer
  1749.      the requester by clicking on a `Continue' button.
  1750.  
  1751. `Result:'
  1752.      -
  1753.  
  1754. `Warning:'
  1755.      -
  1756.  
  1757. `Example:'
  1758.           /* Notify the user. */
  1759.  
  1760.           REQUESTNOTIFY TITLE '"Important information"' ...
  1761.           ...PROMPT 'This message is important'
  1762.  
  1763. The REQUESTNUMBER command
  1764. =========================
  1765.  
  1766. `Format:'
  1767.      REQUESTNUMBER [Default <Default number>] [Prompt <Prompt text>]
  1768.  
  1769. `Template:'
  1770.      DEFAULT/K/N,PROMPT/K/F
  1771.  
  1772. `Purpose:'
  1773.      Requests a numeric value from the user
  1774.  
  1775. `Specifications:'
  1776.      Requests a numeric value from the user, will display the provided
  1777.      prompt text or a default text and present the provided default
  1778.      number, so user can simply hit return to accept the defaults.
  1779.  
  1780. `Result:'
  1781.      The number the has entered.
  1782.  
  1783. `Warning:'
  1784.      If user cancelled requester.
  1785.  
  1786. `Example:'
  1787.           /* Enable command results. */
  1788.  
  1789.           OPTIONS RESULTS
  1790.  
  1791.           /* Requester a single number. */
  1792.  
  1793.           REQUESTNUMBER DEFAULT 42 PROMPT 'Enter the answer'
  1794.  
  1795.           /* Output the result. */
  1796.  
  1797.           IF rc ~= 0 THEN
  1798.              SAY 'no number was entered'
  1799.           ELSE
  1800.              SAY result
  1801.  
  1802. The REQUESTRESPONSE command
  1803. ===========================
  1804.  
  1805. `Format:'
  1806.      REQUESTRESPONSE [Title <Title text>] [Options <Options string>]
  1807.      [Prompt] <Prompt text>
  1808.  
  1809. `Template:'
  1810.      TITLE/K,OPTIONS/K,PROMPT/A/F
  1811.  
  1812. `Purpose:'
  1813.      Request a response from user.
  1814.  
  1815. `Specifications:'
  1816.      Requests a response from the user, uses provided title and prompt
  1817.      text and a number of options. If no options are specified will use
  1818.      `Yes|No' as the defaults.
  1819.  
  1820. `Result:'
  1821.      For `Options' passed as `Yes|Perhaps|No' will return 1 for `Yes',
  1822.      2 for `Perhaps' and return a warning for `No'.
  1823.  
  1824. `Warning:'
  1825.      If user selected negative choice.
  1826.  
  1827. `Example:'
  1828.           /* Enable command results. */
  1829.  
  1830.           OPTIONS RESULTS
  1831.  
  1832.           /* Request a response. */
  1833.  
  1834.           REQUESTRESPONSE PROMPT 'Are you indecisive?' ...
  1835.           ...OPTIONS '"Yes|Don't know|No"'
  1836.  
  1837.           /* Look at the response. */
  1838.  
  1839.           IF rc ~= 0 THEN
  1840.              SAY 'Not indecisive'
  1841.           ELSE DO
  1842.              IF result = 0 THEN
  1843.                 SAY 'Indecisive'
  1844.              ELSE
  1845.                 SAY 'Probably indecisive'
  1846.           END
  1847.  
  1848. The REQUESTSTRING command
  1849. =========================
  1850.  
  1851. `Format:'
  1852.      REQUESTSTRING [Secret] [Default <String>] [Prompt <Text>]
  1853.  
  1854. `Template:'
  1855.      SECRET/S,DEFAULT/K,PROMPT/K/F
  1856.  
  1857. `Purpose:'
  1858.      Requests a string from the user.
  1859.  
  1860. `Specifications:'
  1861.      Requests a string from the user, will display the provided prompt
  1862.      text or a default text and present the provided default string, so
  1863.      user can simply hit return to accept the defaults.
  1864.  
  1865.      If the `Secret' parameter is provided, will not display the
  1866.      characters typed.
  1867.  
  1868. `Result:'
  1869.      The text the user entered.
  1870.  
  1871. `Warning:'
  1872.      If user cancelled the requester.
  1873.  
  1874. `Example:'
  1875.           /* Enable command results. */
  1876.  
  1877.           OPTIONS RESULTS
  1878.  
  1879.           /* Request a secret string. */
  1880.  
  1881.           REQUESTSTRING SECRET DEFAULT '"hello sailor!"' ...
  1882.           ...PROMPT 'Enter secret message'
  1883.  
  1884.           /* Output the result. */
  1885.  
  1886.           IF rc ~= 0 THEN
  1887.              SAY 'no text was entered'
  1888.           ELSE
  1889.              SAY result
  1890.  
  1891. The RESETSCREEN command
  1892. =======================
  1893.  
  1894. `Format:'
  1895.      RESETSCREEN
  1896.  
  1897. `Template:'
  1898.      ,
  1899.  
  1900. `Purpose:'
  1901.      Resets the terminal screen to defaults.
  1902.  
  1903. `Specifications:'
  1904.      Resets the terminal screen to defaults, this includes clearing the
  1905.      screen, moving the cursor to the home position and resetting text,
  1906.      text rendering styles and colours.
  1907.  
  1908. `Result:'
  1909.      -
  1910.  
  1911. `Warning:'
  1912.      -
  1913.  
  1914. `Example:'
  1915.           /* Reset the terminal screen. */
  1916.  
  1917.           RESETSCREEN
  1918.  
  1919. The RESETSTYLES command
  1920. =======================
  1921.  
  1922. `Format:'
  1923.      RESETSTYLES
  1924.  
  1925. `Template:'
  1926.      ,
  1927.  
  1928. `Purpose:'
  1929.      Resets the text rendering styles to defaults.
  1930.  
  1931. `Specifications:'
  1932.      Resets the text rendering styles to defaults, turning off inverse
  1933.      video, boldface, italics, etc. modes.
  1934.  
  1935. `Result:'
  1936.      -
  1937.  
  1938. `Warning:'
  1939.      -
  1940.  
  1941. `Example:'
  1942.           /* Reset the text rendering styles. */
  1943.  
  1944.           RESETSTYLES
  1945.  
  1946. The RESETTEXT command
  1947. =====================
  1948.  
  1949. `Format:'
  1950.      RESETTEXT
  1951.  
  1952. `Template:'
  1953.      ,
  1954.  
  1955. `Purpose:'
  1956.      Reset the terminal text to defaults.
  1957.  
  1958. `Specifications:'
  1959.      Reset the terminal text to defaults, this includes switching back
  1960.      from graphics text or G1 mode.
  1961.  
  1962. `Result:'
  1963.      -
  1964.  
  1965. `Warning:'
  1966.      -
  1967.  
  1968. `Example:'
  1969.           /* Reset the terminal text. */
  1970.  
  1971.           RESETTEXT
  1972.  
  1973. The RESETTIMER command
  1974. ======================
  1975.  
  1976. `Format:'
  1977.      RESETTIMER
  1978.  
  1979. `Template:'
  1980.      ,
  1981.  
  1982. `Purpose:'
  1983.      Reset the online timer.
  1984.  
  1985. `Specifications:'
  1986.      The online timer is reset to 00:00:00, regardless whether `term'
  1987.      is currently online or not.
  1988.  
  1989. `Result:'
  1990.      -
  1991.  
  1992. `Warning:'
  1993.      -
  1994.  
  1995. `Example:'
  1996.           /* Reset the online timer. */
  1997.  
  1998.           RESETTIMER
  1999.  
  2000. The RX command
  2001. ==============
  2002.  
  2003. `Format:'
  2004.      RX [Console] [Async] [Command] <Command name>
  2005.  
  2006. `Template:'
  2007.      CONSOLE/S,ASYNC/S,COMMAND/A/F
  2008.  
  2009. `Purpose:'
  2010.      Invokes an ARexx macro file.
  2011.  
  2012. `Specifications:'
  2013.      Invokes an ARexx macro file, if `Console' argument specified opens
  2014.      a console output window, else uses `NIL:', if `Async' argument
  2015.      specified executes the macro asynchronously.
  2016.  
  2017. `Result:'
  2018.      -
  2019.  
  2020. `Warning:'
  2021.      -
  2022.  
  2023. `Example:'
  2024.           /* Launch the `term' command shell. */
  2025.  
  2026.           RX CONSOLE ASYNC 'term:cmdshell.term'
  2027.  
  2028. The SAVE command
  2029. ================
  2030.  
  2031. `Format:'
  2032.      SAVE [From] <Translations|Functionkeys|
  2033.      Cursorkeys|Fastmacros|Hotkeys|Speech|
  2034.      Sound|Buffer|Configuration|Phone| Screentext|Screenimage>
  2035.  
  2036. `Template:'
  2037.      FROM/A
  2038.  
  2039. `Purpose:'
  2040.      Saves data to a disk file.
  2041.  
  2042. `Specifications:'
  2043.      Saves data to a disk file, will prompt for a file name to save to.
  2044.      See SAVEAS command for more information.
  2045.  
  2046. `Result:'
  2047.      -
  2048.  
  2049. `Warning:'
  2050.      If user cancels save operation.
  2051.  
  2052. `Example:'
  2053.           /* Save the terminal screen contents to an
  2054.            * IFF-ILBM file.
  2055.            */
  2056.  
  2057.           SAVE FROM screenimage
  2058.  
  2059. The SAVEAS command
  2060. ==================
  2061.  
  2062. `Format:'
  2063.      SAVEAS [Name <File name>] [From]
  2064.      <Translations|Functionkeys|Cursorkeys|
  2065.      Fastmacros|Hotkeys|Speech|Sound|Buffer|
  2066.      Configuration|Phone|Screentext| Screenimage>
  2067.  
  2068. `Template:'
  2069.      NAME/K,FROM/A
  2070.  
  2071. `Purpose:'
  2072.      Saves data to a disk file.
  2073.  
  2074. `Specifications:'
  2075.      Saves data to a disk file, will prompt for a filename to save to
  2076.      if none is provided. Will save either parts of the program
  2077.      configuration or the phone book contents (`Phonebook' parameter),
  2078.      the contents of the terminal screen as plain ASCII text
  2079.      (`Screentext' parameter) or the contents of the terminal screen as
  2080.      an IFF-ILBM-file (`Screenimage' parameter).
  2081.  
  2082. `Result:'
  2083.      -
  2084.  
  2085. `Warning:'
  2086.      If user cancels save operation.
  2087.  
  2088. `Example:'
  2089.           /* Save the program configuration to a file. */
  2090.  
  2091.           SAVEAS NAME 'ram:term.prefs' FROM configuration
  2092.  
  2093. The SELECTITEM command
  2094. ======================
  2095.  
  2096. `Format:'
  2097.      SELECTITEM [Name <Name>] [From] <Upload|Download|Dial|Wait>
  2098.      [Next|Prev|Previous|Top|Bottom]
  2099.  
  2100. `Template:'
  2101.      NAME/K,FROM/A,NEXT/S,PREV=PREVIOUS/S,TOP/S,BOTTOM/S
  2102.  
  2103. `Purpose:'
  2104.      Select an item from a list.
  2105.  
  2106. `Specifications:'
  2107.      Selects an item from a list, returns the item name in the `result'
  2108.      variable. The `Top' parameter will select the first list item,
  2109.      `Bottom' the last item. The `Previous' parameter will select the
  2110.      previous list item, `Next' the next successive item. Instead of
  2111.      using a positioning parameter, it is also possible to use a
  2112.      wildcard pattern or name with the `Name' parameter. The first list
  2113.      item to match the name will be selected.
  2114.  
  2115.      *Note: cannot be used with the dial list.*
  2116.  
  2117. `Result:'
  2118.      Returns the list item in the `result' variable.
  2119.  
  2120. `Warning:'
  2121.      If end of list reached.
  2122.  
  2123. `Example:'
  2124.           /* Enable command results. */
  2125.  
  2126.           OPTIONS RESULTS
  2127.  
  2128.           /* Output the contents of the download list. */
  2129.  
  2130.           SELECTITEM FROM download TOP
  2131.  
  2132.           DO WHILE rc = 0
  2133.              SAY result
  2134.              SELECTITEM FROM download NEXT
  2135.           END
  2136.  
  2137. The SEND command
  2138. ================
  2139.  
  2140. `Format:'
  2141.      SEND [Noecho] [Local] [Byte <ASCII code>] [Text] <Text>
  2142.  
  2143. `Template:'
  2144.      NOECHO/S,LOCAL/S,BYTE/K/N,TEXT/A/F
  2145.  
  2146. `Purpose:'
  2147.      Sends the provided text to the serial line, executes embedded
  2148.      command sequences.
  2149.  
  2150. `Specifications:'
  2151.      Sends the provided text to the serial line, executes embedded
  2152.      command sequences (see main program documentation). To send a
  2153.      single byte, use the `Byte' parameter. The `Noecho' parameter will
  2154.      suppress terminal output. The `Local' parameter will cause the
  2155.      text to be output only locally in the terminal window, it will not
  2156.      be sent across the serial line.
  2157.  
  2158. `Result:'
  2159.      -
  2160.  
  2161. `Warning:'
  2162.      -
  2163.  
  2164. `Example:'
  2165.           /* Send some text to the serial line. */
  2166.  
  2167.           SEND 'This is some text.\r\n'
  2168.  
  2169.           /* Send a single byte (a null) to the serial line. */
  2170.  
  2171.           SEND BYTE 0
  2172.  
  2173.           /* Execute an embedded command (send a break signal). */
  2174.  
  2175.           SEND '\x'
  2176.  
  2177. The SENDBREAK command
  2178. =====================
  2179.  
  2180. `Format:'
  2181.      SENDBREAK
  2182.  
  2183. `Template:'
  2184.      ,
  2185.  
  2186. `Purpose:'
  2187.      Send a break signal across the serial line.
  2188.  
  2189. `Specifications:'
  2190.      Send a break signal across the serial line.
  2191.  
  2192. `Result:'
  2193.      -
  2194.  
  2195. `Warning:'
  2196.      -
  2197.  
  2198. `Example:'
  2199.           /* Send a break signal. */
  2200.  
  2201.           SENDBREAK
  2202.  
  2203. The SENDFILE command
  2204. ====================
  2205.  
  2206. `Format:'
  2207.      SENDFILE [Mode <ASCII|Text|Binary>] [Names] {File names}
  2208.  
  2209. `Template:'
  2210.      MODE/K,NAMES/M
  2211.  
  2212. `Purpose:'
  2213.      Transfers files using the currently selected file transfer
  2214.      protocol.
  2215.  
  2216. `Specifications:'
  2217.      Transfers one or more files using the currently configured XPR
  2218.      protocol.  The `Mode' parameter determines the file transfer mode
  2219.      (either plain ASCII, Text mode or binary file mode), if omitted
  2220.      the file(s) will be sent in binary mode. Some file transfer
  2221.      protocols do not require any file names to be given as they have
  2222.      their own means to determine the names of the files to be sent.
  2223.      However, a file name parameter can be given. If omitted the file
  2224.      transfer protocol will prompt the user for a file name if
  2225.      necessary. Several file names can be given if necessary, they will
  2226.      be transferred along with the file names stored in the upload
  2227.      list. The file transfer process will remove any files successfully
  2228.      transferred from the upload list, leaving only those behing which
  2229.      were not to be transferred correctly.
  2230.  
  2231.      Files whose names do not include a fully qualified path name are
  2232.      expected to reside in the default upload directory as specified in
  2233.      the main program paths settings.
  2234.  
  2235. `Result:'
  2236.      -
  2237.  
  2238. `Warning:'
  2239.      If user cancels file selection.
  2240.  
  2241. `Example:'
  2242.           /* Prompt for files to be uploaded. */
  2243.  
  2244.           SENDFILE
  2245.  
  2246.           /* Send a single file. */
  2247.  
  2248.           SENDFILE 'c:list'
  2249.  
  2250.           /* Clear the upload list, add a single file name. */
  2251.  
  2252.           CLEAR upload
  2253.           ADDITEM TO upload NAME 'c:dir'
  2254.  
  2255.           /* Transfer the file. */
  2256.  
  2257.           SENDFILE
  2258.  
  2259. The SETATTR command
  2260. ===================
  2261.  
  2262. `Format:'
  2263.      SETATTR [Object] <Name> [Field] <Name> [Stem <Name>] [Var <Name>]
  2264.  
  2265. `Template:'
  2266.      OBJECT/A,FIELD,STEM/K,VAR
  2267.  
  2268. `Purpose:'
  2269.      Sets a certain application attribute.
  2270.  
  2271. `Specifications:'
  2272.      Sets a certain application attribute, retrieves the information
  2273.      from the supplied stem or simple variable. For a list of valid
  2274.      attributes, see the section entitled Attributes.
  2275.  
  2276. `Result:'
  2277.      -
  2278.  
  2279. `Warning:'
  2280.      -
  2281.  
  2282. `Example:'
  2283.           /* Set the transfer speed. */
  2284.  
  2285.           SETATTR serialprefs baudrate 2400
  2286.  
  2287. The SPEAK command
  2288. =================
  2289.  
  2290. `Format:'
  2291.      SPEAK [Text] <Text>
  2292.  
  2293. `Template:'
  2294.      TEXT/A/F
  2295.  
  2296. `Purpose:'
  2297.      Speaks the provided text using the Amiga speech synthesizer.
  2298.  
  2299. `Specifications:'
  2300.      Speaks the provided text using the Amiga speech synthesizer,
  2301.      requires that speech support is enabled.
  2302.  
  2303. `Result:'
  2304.      -
  2305.  
  2306. `Warning:'
  2307.      -
  2308.  
  2309. `Example:'
  2310.           /* Say something sensible. */
  2311.  
  2312.           SPEAK 'something sensible'
  2313.  
  2314. The STOPBITS command
  2315. ====================
  2316.  
  2317. `Format:'
  2318.      STOPBITS [0|1]
  2319.  
  2320. `Template:'
  2321.      0/S,1/S
  2322.  
  2323. `Purpose:'
  2324.      Sets the serial line stop bits.
  2325.  
  2326. `Specifications:'
  2327.      Sets the serial line stop bits.
  2328.  
  2329. `Result:'
  2330.      -
  2331.  
  2332. `Warning:'
  2333.      -
  2334.  
  2335. `Example:'
  2336.           /* Set the serial line stop bits. */
  2337.  
  2338.           STOPBITS 1
  2339.  
  2340. The TEXTBUFFER command
  2341. ======================
  2342.  
  2343. `Format:'
  2344.      TEXTBUFFER [Lock|Unlock]
  2345.  
  2346. `Template:'
  2347.      LOCK/S,UNLOCK/S
  2348.  
  2349. `Purpose:'
  2350.      Locks or unlocks the text buffer contents.
  2351.  
  2352. `Specifications:'
  2353.      Locks or unlocks the text buffer contents, similar to the effect
  2354.      of the corresponding main menu entry.
  2355.  
  2356. `Result:'
  2357.      -
  2358.  
  2359. `Warning:'
  2360.      -
  2361.  
  2362. `Example:'
  2363.           /* Lock the text buffer. */
  2364.  
  2365.           TEXTBUFFER LOCK
  2366.  
  2367. The TIMEOUT command
  2368. ===================
  2369.  
  2370. `Format:'
  2371.      TIMEOUT [[Sec|Seconds] <Number>] [Off]
  2372.  
  2373. `Template:'
  2374.      SEC=SECONDS/N,OFF/S
  2375.  
  2376. `Purpose:'
  2377.      Sets the serial read timeout.
  2378.  
  2379. `Specifications:'
  2380.      Sets the timeout the WAIT and READ commands will wait until they
  2381.      exit.
  2382.  
  2383. `Result:'
  2384.      -
  2385.  
  2386. `Warning:'
  2387.      -
  2388.  
  2389. `Example:'
  2390.           /* Set the read timeout. */
  2391.  
  2392.           TIMEOUT SEC 5
  2393.  
  2394. The TRAP command
  2395. ================
  2396.  
  2397. `Format:'
  2398.      TRAP <On|Off>
  2399.  
  2400. `Template:'
  2401.      ON/S,OFF/S
  2402.  
  2403. `Purpose:'
  2404.      Turns the trap list processing on or off.
  2405.  
  2406. `Specifications:'
  2407.      This command tells the main program whether it should process
  2408.      entries of the trap list when filtering input or not.
  2409.  
  2410. `Result:'
  2411.      -
  2412.  
  2413. `Warning:'
  2414.      -
  2415.  
  2416. `Example:'
  2417.           /* Ignore the trap list. */
  2418.  
  2419.           TRAP OFF
  2420.  
  2421. The WAIT command
  2422. ================
  2423.  
  2424. `Format:'
  2425.      WAIT [Noecho] [[Text] <Text>]
  2426.  
  2427. `Template:'
  2428.      NOECHO/S,TEXT/F
  2429.  
  2430. `Purpose:'
  2431.      Waits for a certain sequence of characters to be received from the
  2432.      serial line.
  2433.  
  2434. `Specifications:'
  2435.      Wait for text to be received from the serial line. If no text to
  2436.      wait for is provided wait for either item of the wait list to
  2437.      appear. The `Noecho' parameter suppresses terminal output. *Note
  2438.      that text comparison does not consider the case of characters (in
  2439.      respect to the ECMA Latin 1 character set).*
  2440.  
  2441. `Result:'
  2442.      Returns the string found.
  2443.  
  2444. `Warning:'
  2445.      If timeout has elapsed before any matching text was received.
  2446.  
  2447. `Example:'
  2448.           /* Enable command results. */
  2449.  
  2450.           OPTIONS RESULTS
  2451.  
  2452.           /* Set the read timeout. */
  2453.  
  2454.           TIMEOUT SEC 30
  2455.  
  2456.           /* Wait for a single line of text. */
  2457.  
  2458.           WAIT 'some text'
  2459.  
  2460.           /* Clear the wait list, add a few items. */
  2461.  
  2462.           CLEAR wait
  2463.           ADDITEM TO wait NAME 'foo'
  2464.           ADDITEM TO wait NAME 'bar'
  2465.  
  2466.           /* Wait for the text to appear. */
  2467.  
  2468.           WAIT
  2469.  
  2470.           /* Output the result. */
  2471.  
  2472.           IF rc ~= 0 THEN
  2473.              SAY 'no text was received'
  2474.           ELSE
  2475.              SAY result
  2476.  
  2477. The WINDOW command
  2478. ==================
  2479.  
  2480. `Format:'
  2481.      WINDOW [Names] {<Buffer|Review|Packet|Fastmacros|
  2482.      Status|Main|UploadQueue>} [Open|Close] [Activate] [Min|Max]
  2483.      [Front|Back] [Top|Bottom|Up|Down]
  2484.  
  2485. `Template:'
  2486.      NAMES/A/M,OPEN/S,CLOSE/S,ACTIVATE/S,MIN/S,MAX/S,FRONT/S,BACK/S,
  2487.      TOP/S,BOTTOM/S,UP/S,DOWN/S
  2488.  
  2489. `Purpose:'
  2490.      Manipulates the aspects of a window.
  2491.  
  2492. `Specifications:'
  2493.      Manipulates the aspects of a window. Not all windows will support
  2494.      all available commands. The windows supported are:
  2495.     `Buffer'
  2496.           The text buffer window and screen. Supports the `Open',
  2497.           `Close', `Activate' and `Front' commands.
  2498.  
  2499.     `Review'
  2500.           The review window. Supports the `Open', `Close', `Activate',
  2501.           `Min', `Max', `Front', `Back', `Top', `Bottom', `Up', and
  2502.           `Down' commands.
  2503.  
  2504.     `Packet'
  2505.           The packet window. Supports the `Open', `Close', `Activate',
  2506.           `Min', `Max', `Front' and `Back' commands.
  2507.  
  2508.     `Fastmacros'
  2509.           The fast! macro window. Supports the `Open', `Close',
  2510.           `Activate', `Min', `Max', `Front' and `Back' commands.
  2511.  
  2512.     `Status'
  2513.           The status window. Supports the `Open', `Close', `Activate',
  2514.           `Front' and `Back' commands.
  2515.  
  2516.     `Main'
  2517.           The main program window. Supports the `Open', `Close',
  2518.           `Activate', `Front' and `Back' commands.
  2519.  
  2520. `Result:'
  2521.      -
  2522.  
  2523. `Warning:'
  2524.      -
  2525.  
  2526. `Example:'
  2527.           /* Open all available windows. */
  2528.  
  2529.           WINDOW buffer review packet fastmacros status main OPEN
  2530.  
  2531. Attributes
  2532. **********
  2533.  
  2534.    Several of the application's internal variables are can be accessed
  2535. and modified using the GETATTR and SETATTR commands. Information is
  2536. available on the objects and their associated fields explained below.
  2537. Each line consists of the object and field name and the type of the
  2538. available data:
  2539. `Numeric data'
  2540.     `<Object>.<Field>'
  2541.           Numeric
  2542.  
  2543.      The information is a numeric value.
  2544.  
  2545. `Text data'
  2546.     `<Object>.<Field>'
  2547.           Text
  2548.  
  2549.      The information is a text string.
  2550.  
  2551. `Boolean data'
  2552.     `<Object>.<Field>'
  2553.           Boolean
  2554.  
  2555.      The information is a boolean value and can be `ON' or `OFF'.
  2556.  
  2557. `Mapped codes'
  2558.     `<Object>.<Field>'
  2559.           <Value 1> ... <Value n>
  2560.  
  2561.      The information can be one of the given values.
  2562.  
  2563. The TERM object (read-only)
  2564. ===========================
  2565.  
  2566. `TERM.VERSION'
  2567.      Text
  2568.  
  2569.      The `term' program revision.
  2570.  
  2571. `TERM.SCREEN'
  2572.      Text
  2573.  
  2574.      The name of the public screen the `term' main window has been
  2575.      opened on.
  2576.  
  2577. `TERM.SESSION.ONLINE'
  2578.      Boolean
  2579.  
  2580.      Whether the program is currently online or not.
  2581.  
  2582. `TERM.SESSION.SESSIONSTART'
  2583.      Text
  2584.  
  2585.      Time and date when the `term' program was started.
  2586.  
  2587. `TERM.SESSION.BYTESSENT'
  2588.      Numeric
  2589.  
  2590. `TERM.SESSION.BYTESRECEIVED'
  2591.      Numeric
  2592.  
  2593. `TERM.SESSION.CONNECTMESSAGE'
  2594.      Text
  2595.  
  2596.      The message issued by the modem when the connection was
  2597.      established.
  2598.  
  2599. `TERM.SESSION.BBSNAME'
  2600.      Text
  2601.  
  2602. `TERM.SESSION.BBSNUMBER'
  2603.      Text
  2604.  
  2605. `TERM.SESSION.BBSCOMMENT'
  2606.      Text
  2607.  
  2608. `TERM.SESSION.USERNAME'
  2609.      Text
  2610.  
  2611. `TERM.SESSION.ONLINEMINUTES'
  2612.      Numeric
  2613.  
  2614.      The number of minutes the program is currently connected to a BBS.
  2615.  
  2616. `TERM.SESSION.ONLINECOST'
  2617.      Numeric
  2618.  
  2619.      The cost of the connection to the BBS.
  2620.  
  2621. `TERM.AREXX'
  2622.      Text
  2623.  
  2624.      The name of the ARexx host port the program is communicating with.
  2625.  
  2626. `TERM.LASTERROR'
  2627.      Numeric
  2628.  
  2629.      The code corresponding to the error the last command has caused.
  2630.  
  2631. `TERM.TERMINAL.ROWS'
  2632.      Numeric
  2633.  
  2634.      The number of available terminal screen rows.
  2635.  
  2636. `TERM.TERMINAL.COLUMNS'
  2637.      Numeric
  2638.  
  2639.      The number of available terminal screen columns.
  2640.  
  2641. `TERM.BUFFER.SIZE'
  2642.      Numeric
  2643.  
  2644.      The size of the text buffer.
  2645.  
  2646. The PHONEBOOK object (read-only)
  2647. ================================
  2648.  
  2649.    Available fields are:
  2650. `PHONEBOOK.COUNT'
  2651.      Numeric
  2652.  
  2653.      The number of entries in the phonebook. The single phonebook
  2654.      entries can be accessed as `PHONEBOOK.0...' through
  2655.      `PHONEBOOK.n-1...'.
  2656.  
  2657. `PHONEBOOK.n.NAME'
  2658.      Text
  2659.  
  2660. `PHONEBOOK.n.NUMBER'
  2661.      Text
  2662.  
  2663. `PHONEBOOK.n.COMMENTTEXT'
  2664.      Text
  2665.  
  2666. `PHONEBOOK.n.USERNAME'
  2667.      Text
  2668.  
  2669. `PHONEBOOK.n.PASSWORDTEXT'
  2670.      Text
  2671.  
  2672. The SERIALPREFS object
  2673. ======================
  2674.  
  2675.    Available fields are:
  2676. `SERIALPREFS.BAUDRATE'
  2677.      Numeric
  2678.  
  2679. `SERIALPREFS.BREAKLENGTH'
  2680.      Numeric
  2681.  
  2682.      The break signal length in microseconds.
  2683.  
  2684. `SERIALPREFS.BUFFERSIZE'
  2685.      Numeric
  2686.  
  2687. `SERIALPREFS.DEVICENAME'
  2688.      Text
  2689.  
  2690. `SERIALPREFS.UNIT'
  2691.      Numeric
  2692.  
  2693. `SERIALPREFS.BITSPERCHAR'
  2694.      Numeric
  2695.  
  2696.      The number of bits per transferred char. This can be either seven
  2697.      or eight.
  2698.  
  2699. `SERIALPREFS.PARITYMODE'
  2700.      `NONE' `EVEN' `ODD' `MARK' `SPACE'.
  2701.  
  2702. `SERIALPREFS.STOPBITS'
  2703.      Numeric
  2704.  
  2705.      The number of stop bits to be used. This can be either 0 or 1.
  2706.  
  2707. `SERIALPREFS.HANDSHAKINGMODE'
  2708.      `NONE' `RTSCTS' `RTSCTSDSR'
  2709.  
  2710. `SERIALPREFS.DUPLEXMODE'
  2711.      `HALF' `FULL'
  2712.  
  2713. `SERIALPREFS.XONXOFF'
  2714.      Boolean
  2715.  
  2716. `SERIALPREFS.HIGHSPEED'
  2717.      Boolean
  2718.  
  2719. `SERIALPREFS.SHARED'
  2720.      Boolean
  2721.  
  2722. `SERIALPREFS.STRIPBIT8'
  2723.      Boolean
  2724.  
  2725. `SERIALPREFS.CARRIERCHECK'
  2726.      Boolean
  2727.  
  2728. `SERIALPREFS.PASSXONXOFFTHROUGH'
  2729.      Boolean
  2730.  
  2731. `SERIALPREFS.QUANTUM'
  2732.      Numeric
  2733.  
  2734. `SERIALPREFS.USEOWNDEVUNIT'
  2735.      Boolean
  2736.  
  2737. `SERIALPREFS.OWNDEVUNITREQUEST'
  2738.      `RELEASE' `RELEASERETRY' `IGNORE'
  2739.  
  2740. The MODEMPREFS object
  2741. =====================
  2742.  
  2743.    Available fields are:
  2744. `MODEMPREFS.MODEMINITTEXT'
  2745.      Text
  2746.  
  2747. `MODEMPREFS.MODEMEXITTEXT'
  2748.      Text
  2749.  
  2750. `MODEMPREFS.MODEMHANGUPTEXT'
  2751.      Text
  2752.  
  2753. `MODEMPREFS.DIALPREFIXTEXT'
  2754.      Text
  2755.  
  2756. `MODEMPREFS.DIALSUFFIXTEXT'
  2757.      Text
  2758.  
  2759. `MODEMPREFS.NOCARRIERTEXT'
  2760.      Text
  2761.  
  2762. `MODEMPREFS.NODIALTONETEXT'
  2763.      Text
  2764.  
  2765. `MODEMPREFS.CONNECTTEXT'
  2766.      Text
  2767.  
  2768. `MODEMPREFS.VOICETEXT'
  2769.      Text
  2770.  
  2771. `MODEMPREFS.RINGTEXT'
  2772.      Text
  2773.  
  2774. `MODEMPREFS.BUSYTEXT'
  2775.      Text
  2776.  
  2777. `MODEMPREFS.OKTEXT'
  2778.      Text
  2779.  
  2780. `MODEMPREFS.ERRORTEXT'
  2781.      Text
  2782.  
  2783. `MODEMPREFS.REDIALDELAY'
  2784.      Numeric
  2785.  
  2786.      The redial delay in seconds
  2787.  
  2788. `MODEMPREFS.DIALRETRIES'
  2789.      Numeric
  2790.  
  2791. `MODEMPREFS.DIALTIMEOUT'
  2792.      Numeric
  2793.  
  2794.      The dial timeout in seconds
  2795.  
  2796. `MODEMPREFS.CONNECTAUTOBAUD'
  2797.      Boolean
  2798.  
  2799. `MODEMPREFS.HANGUPDROPSDTR'
  2800.      Boolean
  2801.  
  2802. `MODEMPREFS.REDIALAFTERHANGUP'
  2803.      Boolean
  2804.  
  2805. `MODEMPREFS.NOCARRIERISBUSY'
  2806.      Boolean
  2807.  
  2808. `MODEMPREFS.CONNECTLIMIT'
  2809.      Numeric
  2810.  
  2811.      Time limit in minutes.
  2812.  
  2813. `MODEMPREFS.CONNECTLIMITMACRO'
  2814.      Text
  2815.  
  2816. `MODEMPREFS.TIMETOCONNECT'
  2817.      Numeric
  2818.  
  2819. The SCREENPREFS object
  2820. ======================
  2821.  
  2822.    Available fields are:
  2823. `SCREENPREFS.COLOURMODE'
  2824.      `TWO' `FOUR' `EIGHT' `SIXTEEN'
  2825.  
  2826. `SCREENPREFS.FONTNAME'
  2827.      Text
  2828.  
  2829. `SCREENPREFS.FONTSIZE'
  2830.      Numeric
  2831.  
  2832. `SCREENPREFS.MAKESCREENPUBLIC'
  2833.      Boolean
  2834.  
  2835. `SCREENPREFS.SHANGHAIWINDOWS'
  2836.      Boolean
  2837.  
  2838. `SCREENPREFS.BLINKING'
  2839.      Boolean
  2840.  
  2841. `SCREENPREFS.FASTERLAYOUT'
  2842.      Boolean
  2843.  
  2844. `SCREENPREFS.TITLEBAR'
  2845.      Boolean
  2846.  
  2847. `SCREENPREFS.STATUSLINEMODE'
  2848.      `DISABLED' `STANDARD' `COMPRESSED'
  2849.  
  2850. `SCREENPREFS.USEPUBSCREEN'
  2851.      Boolean
  2852.  
  2853. `SCREENPREFS.PUBSCREENNAME'
  2854.      Text
  2855.  
  2856. `SCREENPREFS.USEPENS'
  2857.      Boolean
  2858.  
  2859. `SCREENPREFS.WINDOWBORDER'
  2860.      Boolean
  2861.  
  2862. `SCREENPREFS.SPLITSTATUS'
  2863.      Boolean
  2864.  
  2865. `SCREENPREFS.ONLINEDISPLAY'
  2866.      `TIME' `COST' `BOTH'
  2867.  
  2868. The TERMINALPREFS object
  2869. ========================
  2870.  
  2871.    Available fields are:
  2872. `TERMINALPREFS.BELLMODE'
  2873.      `NONE' `VISIBLE' `AUDIBLE' `BOTH' `SYSTEM'
  2874.  
  2875. `TERMINALPREFS.ALERTMODE'
  2876.      `NONE' `BELL' `SCREEN' `BOTH'
  2877.  
  2878. `TERMINALPREFS.EMULATIONMODE'
  2879.      `INTERNAL' `ATOMIC' `TTY' `EXTERNAL' `HEX'
  2880.  
  2881. `TERMINALPREFS.FONTMODE'
  2882.      `STANDARD' `IBM' `IBMRAW'
  2883.  
  2884. `TERMINALPREFS.SENDCRMODE'
  2885.      `IGNORE' `CR' `CRLF'
  2886.  
  2887. `TERMINALPREFS.SENDLFMODE'
  2888.      `IGNORE' `LF' `LFCR'
  2889.  
  2890. `TERMINALPREFS.RECEIVECRMODE'
  2891.      `IGNORE' `CR' `CRLF'
  2892.  
  2893. `TERMINALPREFS.RECEIVELFMODE'
  2894.      `IGNORE' `LF' `LFCR'
  2895.  
  2896. `TERMINALPREFS.NUMCOLUMNS'
  2897.      Numeric
  2898.  
  2899. `TERMINALPREFS.NUMLINES'
  2900.      Numeric
  2901.  
  2902. `TERMINALPREFS.KEYMAPNAME'
  2903.      Text
  2904.  
  2905. `TERMINALPREFS.EMULATIONNAME'
  2906.      Text
  2907.  
  2908. `TERMINALPREFS.FONTNAME'
  2909.      Text
  2910.  
  2911. `TERMINALPREFS.FONTSIZE'
  2912.      Numeric
  2913.  
  2914. `TERMINALPREFS.USETERMINALPROCESS'
  2915.      Boolean
  2916.  
  2917. The EMULATIONPREFS object
  2918. =========================
  2919.  
  2920.    Available fields are:
  2921. `EMULATIONPREFS.CURSORMODE'
  2922.      `STANDARD' `APPLICATION'
  2923.  
  2924. `EMULATIONPREFS.NUMERICMODE'
  2925.      `STANDARD' `APPLICATION'
  2926.  
  2927. `EMULATIONPREFS.CURSORWRAP'
  2928.      Boolean
  2929.  
  2930. `EMULATIONPREFS.LINEWRAP'
  2931.      Boolean
  2932.  
  2933. `EMULATIONPREFS.INSERTMODE'
  2934.      Boolean
  2935.  
  2936. `EMULATIONPREFS.NEWLINEMODE'
  2937.      Boolean
  2938.  
  2939. `EMULATIONPREFS.FONTSCALEMODE'
  2940.      `NORMAL' `HALF'
  2941.  
  2942. `EMULATIONPREFS.SCROLLMODE'
  2943.      `JUMP' `SMOOTH'
  2944.  
  2945. `EMULATIONPREFS.DESTRUCTIVEBACKSPACE'
  2946.      `OFF' `OVERSTRIKE' `OVERSTRIKESHIFT'
  2947.  
  2948. `EMULATIONPREFS.SWAPBSDELETE'
  2949.      Boolean
  2950.  
  2951. `EMULATIONPREFS.PRINTERENABLED'
  2952.      Boolean
  2953.  
  2954. `EMULATIONPREFS.ANSWERBACKTEXT'
  2955.      Text
  2956.  
  2957. `EMULATIONPREFS.CLSRESETSCURSOR'
  2958.      Boolean
  2959.  
  2960. `EMULATIONPREFS.NUMPADLOCKED'
  2961.      Boolean
  2962.  
  2963. `EMULATIONPREFS.CURSORLOCKED'
  2964.      Boolean
  2965.  
  2966. `EMULATIONPREFS.FONTLOCKED'
  2967.      Boolean
  2968.  
  2969. `EMULATIONPREFS.WRAPLOCKED'
  2970.      Boolean
  2971.  
  2972. `EMULATIONPREFS.STYLELOCKED'
  2973.      Boolean
  2974.  
  2975. `EMULATIONPREFS.COLOURLOCKED'
  2976.      Boolean
  2977.  
  2978. `EMULATIONPREFS.MAXPRESCROLL'
  2979.      Numeric
  2980.  
  2981. `EMULATIONPREFS.MAXJUMP'
  2982.      Numeric
  2983.  
  2984. `EMULATIONPREFS.USEPENS'
  2985.      Boolean
  2986.  
  2987. The CLIPBOARDPREFS object
  2988. =========================
  2989.  
  2990.    Available fields are:
  2991. `CLIPBOARDPREFS.UNIT'
  2992.      Numeric
  2993.  
  2994. `CLIPBOARDPREFS.LINEDELAY'
  2995.      Numeric
  2996.  
  2997.      Paste line delay in 1/100 seconds.
  2998.  
  2999. `CLIPBOARDPREFS.CHARDELAY'
  3000.      Numeric
  3001.  
  3002.      Paste character delay in 1/100 seconds.
  3003.  
  3004. `CLIPBOARDPREFS.LINEPROMPTTEXT'
  3005.      Text
  3006.  
  3007. `CLIPBOARDPREFS.SENDTIMEOUT'
  3008.      Numeric
  3009.  
  3010.      Timeout in 1/100 seconds.
  3011.  
  3012. `CLIPBOARDPREFS.TEXTPACING'
  3013.      `DIRECT' `ECHO' `ANYECHO' `PROMPT' `DELAY' `KEYBOARD'
  3014.  
  3015. `CLIPBOARDPREFS.INSERTPREFIXTEXT'
  3016.      Text
  3017.  
  3018. `CLIPBOARDPREFS.INSERTSUFFIXTEXT'
  3019.      Text
  3020.  
  3021. The CAPTUREPREFS object
  3022. =======================
  3023.  
  3024.    Available fields are:
  3025. `CAPTUREPREFS.LOGACTIONS'
  3026.      Boolean
  3027.  
  3028. `CAPTUREPREFS.LOGFILENAME'
  3029.      Text
  3030.  
  3031. `CAPTUREPREFS.LOGCALLS'
  3032.      Boolean
  3033.  
  3034. `CAPTUREPREFS.CALLLOGFILENAME'
  3035.      Text
  3036.  
  3037. `CAPTUREPREFS.MAXBUFFERSIZE'
  3038.      Numeric
  3039.  
  3040. `CAPTUREPREFS.BUFFER'
  3041.      Boolean
  3042.  
  3043. `CAPTUREPREFS.BUFFERSAVEPATH'
  3044.      Text
  3045.  
  3046. `CAPTUREPREFS.CONNECTAUTOCAPTURE'
  3047.      Boolean
  3048.  
  3049. `CAPTUREPREFS.AUTOCAPTUREDATE'
  3050.      `NAME', `INCLUDE'
  3051.  
  3052. `CAPTUREPREFS.CAPTUREFILTER'
  3053.      Boolean
  3054.  
  3055. `CAPTUREPREFS.CONVERTCHARACTERS'
  3056.      Boolean
  3057.  
  3058. `CAPTUREPREFS.CAPTUREPATH'
  3059.      Text
  3060.  
  3061. `CAPTUREPREFS.OPENBUFFERWINDOW'
  3062.      `TOP', `END'
  3063.  
  3064. `CAPTUREPREFS.REMEMBERBUFFERWINDOW'
  3065.      Boolean
  3066.  
  3067. `CAPTUREPREFS.OPENBUFFERSCREEN'
  3068.      `TOP', `END'
  3069.  
  3070. `CAPTUREPREFS.REMEMBERBUFFERSCREEN'
  3071.      Boolean
  3072.  
  3073. `CAPTUREPREFS.BUFFERSCREENPOSITION'
  3074.      `LEFT', `MID', `RIGHT'
  3075.  
  3076. `CAPTUREPREFS.BUFFERWIDTH'
  3077.      Numeric
  3078.  
  3079. `CAPTUREPREFS.SEARCHHISTORY'
  3080.      Numeric
  3081.  
  3082. The COMMANDPREFS object
  3083. =======================
  3084.  
  3085.    Available fields are:
  3086. `COMMANDPREFS.STARTUPMACROTEXT'
  3087.      Text
  3088.  
  3089. `COMMANDPREFS.LOGINMACROTEXT'
  3090.      Text
  3091.  
  3092. `COMMANDPREFS.LOGOFFMACROTEXT'
  3093.      Text
  3094.  
  3095. `COMMANDPREFS.UPLOADMACROTEXT'
  3096.      Text
  3097.  
  3098. `COMMANDPREFS.DOWNLOADMACROTEXT'
  3099.      Text
  3100.  
  3101. The MISCPREFS object
  3102. ====================
  3103.  
  3104.    Available fields are:
  3105. `MISCPREFS.PRIORITY'
  3106.      Numeric
  3107.  
  3108. `MISCPREFS.BACKUPCONFIG'
  3109.      Boolean
  3110.  
  3111. `MISCPREFS.OPENFASTMACROPANEL'
  3112.      Boolean
  3113.  
  3114. `MISCPREFS.RELEASEDEVICE'
  3115.      Boolean
  3116.  
  3117. `MISCPREFS.OVERRIDEPATH'
  3118.      Boolean
  3119.  
  3120. `MISCPREFS.AUTOUPLOAD'
  3121.      Boolean
  3122.  
  3123. `MISCPREFS.SETARCHIVEDBIT'
  3124.      Boolean
  3125.  
  3126. `MISCPREFS.COMMENTMODE'
  3127.      `IGNORE' `FILETYPE' `SOURCE'
  3128.  
  3129. `MISCPREFS.TRANSFERICONS'
  3130.      Boolean
  3131.  
  3132. `MISCPREFS.CREATEICONS'
  3133.      Boolean
  3134.  
  3135. `MISCPREFS.SIMPLEIO'
  3136.      Boolean
  3137.  
  3138. `MISCPREFS.HIDEUPLOADICON'
  3139.      Boolean
  3140.  
  3141. `MISCPREFS.TRANSFERPERFMETER'
  3142.      Boolean
  3143.  
  3144. `MISCPREFS.IOBUFFERSIZE'
  3145.      Numeric
  3146.  
  3147. The PATHPREFS object
  3148. ====================
  3149.  
  3150.    Available fields are:
  3151. `PATHPREFS.ASCIIUPLOADPATH'
  3152.      Text
  3153.  
  3154. `PATHPREFS.ASCIIDOWNLOADPATH'
  3155.      Text
  3156.  
  3157. `PATHPREFS.TEXTUPLOADPATH'
  3158.      Text
  3159.  
  3160. `PATHPREFS.TEXTDOWNLOADPATH'
  3161.      Text
  3162.  
  3163. `PATHPREFS.BINARYUPLOADPATH'
  3164.      Text
  3165.  
  3166. `PATHPREFS.BINARYDOWNLOADPATH'
  3167.      Text
  3168.  
  3169. `PATHPREFS.CONFIGPATH'
  3170.      Text
  3171.  
  3172. `PATHPREFS.EDITORNAME'
  3173.      Text
  3174.  
  3175. `PATHPREFS.HELPFILENAME'
  3176.      Text
  3177.  
  3178. The TRANSFERPREFS object
  3179. ========================
  3180.  
  3181.    Available fields are:
  3182. `TRANSFERPREFS.DEFAULTLIBRARY'
  3183.      Text
  3184.  
  3185. `TRANSFERPREFS.ERRORNOTIFYCOUNT'
  3186.      Numeric
  3187.  
  3188. `TRANSFERPREFS.ERRORNOTIFYWHEN'
  3189.      `NEVER' `ALWAYS' `START' `END'
  3190.  
  3191. `TRANSFERPREFS.ASCIIUPLOADLIBRARY'
  3192.      Text
  3193.  
  3194. `TRANSFERPREFS.INTERNALASCIIUPLOAD'
  3195.      Boolean
  3196.  
  3197. `TRANSFERPREFS.ASCIIDOWNLOADLIBRARY'
  3198.      Text
  3199.  
  3200. `TRANSFERPREFS.INTERNALASCIIDOWNLOAD'
  3201.      Boolean
  3202.  
  3203. `TRANSFERPREFS.QUIETTRANSFER'
  3204.      Boolean
  3205.  
  3206. `TRANSFERPREFS.MANGLEFILENAMES'
  3207.      Boolean
  3208.  
  3209. `TRANSFERPREFS.LINEDELAY'
  3210.      Numeric
  3211.  
  3212. `TRANSFERPREFS.CHARDELAY'
  3213.      Numeric
  3214.  
  3215. `TRANSFERPREFS.LINEPROMPTTEXT'
  3216.      Text
  3217.  
  3218. `TRANSFERPREFS.TEXTPACING'
  3219.      `DIRECT' `ECHO' `ANYECHO' `PROMPT' `DELAY' `KEYBOARD'
  3220.  
  3221. `TRANSFERPREFS.SENDTIMEOUT'
  3222.      Numeric
  3223.  
  3224. `TRANSFERPREFS.STRIPBIT8'
  3225.      Boolean
  3226.  
  3227. `TRANSFERPREFS.IGNOREDATAPASTTERMINATOR'
  3228.      Boolean
  3229.  
  3230. `TRANSFERPREFS.TERMINATORCHAR'
  3231.      Numeric
  3232.  
  3233. `TRANSFERPREFS.TEXTUPLOADLIBRARY'
  3234.      Text
  3235.  
  3236. `TRANSFERPREFS.TEXTDOWNLOADLIBRARY'
  3237.      Text
  3238.  
  3239. `TRANSFERPREFS.BINARYUPLOADLIBRARY'
  3240.      Text
  3241.  
  3242. `TRANSFERPREFS.BINARYDOWNLOADLIBRARY'
  3243.      Text
  3244.  
  3245. The PROTOCOLPREFS object
  3246. ========================
  3247.  
  3248.    This object features no fields, it contains a single line of text:
  3249. the XPR protocol options.
  3250.  
  3251. The TRANSLATIONPREFS object
  3252. ===========================
  3253.  
  3254.    Indices referring to the ascii codes range from 0 to 255, available
  3255. fields are:
  3256. `TRANSLATIONPREFS.n.SEND'
  3257.      Text
  3258.  
  3259. `TRANSLATIONPREFS.n.RECEIVE'
  3260.      Text
  3261.  
  3262. The FUNCTIONKEYPREFS object
  3263. ===========================
  3264.  
  3265.    Key indices range from 1 to 10 (representing F1 through F10),
  3266. available fields are:
  3267. `FUNCTIONKEYPREFS.n'
  3268.      Text
  3269.  
  3270. `FUNCTIONKEYPREFS.SHIFT.n'
  3271.      Text
  3272.  
  3273. `FUNCTIONKEYPREFS.ALT.n'
  3274.      Text
  3275.  
  3276. `FUNCTIONKEYPREFS.CONTROL.n'
  3277.      Text
  3278.  
  3279. The CURSORKEYPREFS object
  3280. =========================
  3281.  
  3282.    Available fields are:
  3283. `CURSORKEYPREFS.UPTEXT'
  3284.      Text
  3285.  
  3286. `CURSORKEYPREFS.RIGHTTEXT'
  3287.      Text
  3288.  
  3289. `CURSORKEYPREFS.DOWNTEXT'
  3290.      Text
  3291.  
  3292. `CURSORKEYPREFS.LEFTTEXT'
  3293.      Text
  3294.  
  3295. `CURSORKEYPREFS.SHIFT.UPTEXT'
  3296.      Text
  3297.  
  3298. `CURSORKEYPREFS.SHIFT.RIGHTTEXT'
  3299.      Text
  3300.  
  3301. `CURSORKEYPREFS.SHIFT.DOWNTEXT'
  3302.      Text
  3303.  
  3304. `CURSORKEYPREFS.SHIFT.LEFTTEXT'
  3305.      Text
  3306.  
  3307. `CURSORKEYPREFS.ALT.UPTEXT'
  3308.      Text
  3309.  
  3310. `CURSORKEYPREFS.ALT.RIGHTTEXT'
  3311.      Text
  3312.  
  3313. `CURSORKEYPREFS.ALT.DOWNTEXT'
  3314.      Text
  3315.  
  3316. `CURSORKEYPREFS.ALT.LEFTTEXT'
  3317.      Text
  3318.  
  3319. `CURSORKEYPREFS.CONTROL.UPTEXT'
  3320.      Text
  3321.  
  3322. `CURSORKEYPREFS.CONTROL.RIGHTTEXT'
  3323.      Text
  3324.  
  3325. `CURSORKEYPREFS.CONTROL.DOWNTEXT'
  3326.      Text
  3327.  
  3328. `CURSORKEYPREFS.CONTROL.LEFTTEXT'
  3329.      Text
  3330.  
  3331. The FASTMACROPREFS object
  3332. =========================
  3333.  
  3334. `FASTMACROPREFS.COUNT'
  3335.      Numeric
  3336.  
  3337.      The number of fast macros available, entries range from
  3338.      `FASTMACROPREFS.0...' to `FASTMACROPREFS.n-1...'
  3339.  
  3340. `FASTMACROPREFS.n.NAME'
  3341.      Text
  3342.  
  3343. `FASTMACROPREFS.n.CODE'
  3344.      Text
  3345.  
  3346. The HOTKEYPREFS object
  3347. ======================
  3348.  
  3349.    Available fields are:
  3350. `HOTKEYPREFS.TERMSCREENTOFRONTTEXT'
  3351.      Text
  3352.  
  3353. `HOTKEYPREFS.BUFFERSCREENTOFRONTTEXT'
  3354.      Text
  3355.  
  3356. `HOTKEYPREFS.SKIPDIALENTRYTEXT'
  3357.      Text
  3358.  
  3359. `HOTKEYPREFS.ABORTAREXX'
  3360.      Text
  3361.  
  3362. `HOTKEYPREFS.COMMODITYPRIORITY'
  3363.      Numeric
  3364.  
  3365. `HOTKEYPREFS.HOTKEYSENABLED'
  3366.      Boolean
  3367.  
  3368. The SPEECHPREFS object
  3369. ======================
  3370.  
  3371.    Available fields are:
  3372. `SPEECHPREFS.RATE'
  3373.      Numeric
  3374.  
  3375. `SPEECHPREFS.PITCH'
  3376.      Numeric
  3377.  
  3378. `SPEECHPREFS.FREQUENCY'
  3379.      Numeric
  3380.  
  3381. `SPEECHPREFS.SEXMODE'
  3382.      `MALE' `FEMALE'
  3383.  
  3384. `SPEECHPREFS.VOLUME'
  3385.      Numeric
  3386.  
  3387. `SPEECHPREFS.SPEECH'
  3388.      Boolean
  3389.  
  3390. The SOUNDPREFS object
  3391. =====================
  3392.  
  3393.    Available fields are:
  3394. `SOUNDPREFS.BELLNAME'
  3395.      Text
  3396.  
  3397. `SOUNDPREFS.CONNECTNAME'
  3398.      Text
  3399.  
  3400. `SOUNDPREFS.DISCONNECTNAME'
  3401.      Text
  3402.  
  3403. `SOUNDPREFS.GOODTRANSFERNAME'
  3404.      Text
  3405.  
  3406. `SOUNDPREFS.BADTRANSFERNAME'
  3407.      Text
  3408.  
  3409. `SOUNDPREFS.RINGNAME'
  3410.      Text
  3411.  
  3412. `SOUNDPREFS.VOICENAME'
  3413.      Text
  3414.  
  3415. `SOUNDPREFS.ERRORNAME'
  3416.      Text
  3417.  
  3418. `SOUNDPREFS.PRELOAD'
  3419.      Boolean
  3420.  
  3421. The CONSOLEPREFS object
  3422. =======================
  3423.  
  3424.    This object features no fields, it contains a single line of text:
  3425. the console output window specification.
  3426.  
  3427. The FILEPREFS object
  3428. ====================
  3429.  
  3430.    Available fields are:
  3431. `FILEPREFS.TRANSFERPROTOCOLNAME'
  3432.      Text
  3433.  
  3434. `FILEPREFS.TRANSLATIONFILENAME'
  3435.      Text
  3436.  
  3437. `FILEPREFS.MACROFILENAME'
  3438.      Text
  3439.  
  3440. `FILEPREFS.CURSORFILENAME'
  3441.      Text
  3442.  
  3443. `FILEPREFS.FASTMACROFILENAME'
  3444.      Text
  3445.  
  3446. Wanted!
  3447. *******
  3448.  
  3449.    As of this writing only a single example ARexx script is included in
  3450. the `term' distribution (see the `Rexx' drawer). However, it is
  3451. desirable to include more sample scripts so more users will be able to
  3452. take advantage of the ARexx interface.
  3453.  
  3454.    If you wish to share your scripts with the `term' user community,
  3455. send them (including documentation) to:
  3456.  
  3457.                              Olaf Barthel
  3458.                            Brabeckstrasse 35
  3459.                            D-30559 Hannover
  3460.  
  3461.                       Federal Republic of Germany
  3462.  
  3463.                     Internet: olsen@sourcery.han.de
  3464.